理解HTML与PHP的区别
HTML(Hypertext Markup Language)主要用于创建和设计网页的结构和内容,它是静态的,意味着一旦页面被加载到浏览器中,其内容就不会改变,除非用户进行新的页面请求或操作。而PHP则不同,它是一种服务器端脚本语言,能够处理用户输入、访问数据库、执行计算并动态生成HTML内容,然后发送到用户的浏览器上。这种“动态”特性使得网站能够根据不同用户的需求展示不同的信息,实现如用户登录、表单提交、内容管理等复杂功能。
搭建PHP开发环境
在开始编写PHP代码之前,你需要确保有一个运行PHP的环境。这通常包括:
- Web服务器:如Apache或Nginx,它们负责接收来自浏览器的请求并传递给PHP解释器。
- PHP解释器:负责执行PHP代码并将其转换为HTML发送给浏览器。
- 数据库(可选但常用):如MySQL或PostgreSQL,用于存储网站数据。

对于初学者,推荐使用XAMPP或MAMP这类集成环境,它们包含了Apache、PHP和MySQL,并提供了图形界面进行简单配置。安装完毕后,你可以通过在本地服务器上创建PHP文件来测试环境是否设置成功。例如,创建一个名为`test.php`的文件,内容如下:
```php
phpinfo();
?>
```
访问`http://localhost/test.php`时,如果看到PHP的配置信息,说明环境搭建成功。
PHP基础语法与结构
PHP代码以``结束。在服务器端解析时,这些代码块会被执行,而普通HTML则直接发送给浏览器。下面是一个简单的PHP脚本示例,它接收用户输入并显示“Hello, [用户名]”的欢迎信息:
```php
$name = $_GET[''name'']; // 从URL参数获取用户名
echo "Hello, " . htmlspecialchars($name); // 输出欢迎信息并防止XSS攻击
?>
```
在这个例子中,`$_GET`是一个超全局变量,用于收集表单数据或URL参数。`htmlspecialchars()`函数用于防止HTML注入攻击。
连接数据库与动态内容展示
动态网站的核心之一是能够根据数据库中的数据来展示内容。使用PHP连接MySQL数据库的一个基本示例如下:
```php
$servername = "localhost"; // 数据库服务器地址
$username = "your_username"; // 数据库用户名
$password = "your_password"; // 数据库密码
$dbname = "your_dbname"; // 数据库名
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
$sql = "SELECT id, name FROM users"; // SQL查询语句
$result = $conn->query($sql); // 执行查询并获取结果集
if ($result->num_rows > 0) { // 检查结果集是否为空
// 输出每行数据为
表单处理与用户交互
动态网站往往需要处理用户输入的数据,如登录、注册等表单。下面是一个简单的PHP表单处理示例: