PHP是目前最流行的服务端脚本语言之一,适合快速开发动态网站,通过结合数据库和Web服务器,可以实现用户注册登录、内容发布、数据查询等动态功能。下面我们就从零开始讲解PHP动态网站源码的制作过程。

一、开发环境搭建
制作PHP动态网站需要先搭建运行环境,推荐使用集成环境工具,新手可以快速完成配置,常用的集成环境有XAMPP、WAMP等,这里以XAMPP为例。
安装完成后启动Apache和MySQL服务,确保服务正常运行,之后就可以开始编写PHP代码了。PHP文件需要放在XAMPP安装目录下的htdocs文件夹中,通过浏览器访问localhost/文件名.php即可运行。
二、数据库设计与连接
动态网站通常需要存储数据,这里使用MySQL数据库,首先创建一个测试数据库和用户信息表,用于后续的用户注册登录功能演示。
1. 创建数据库和表
打开phpMyAdmin,执行以下SQL语句创建数据库和表:
-- 创建数据库
CREATE DATABASE IF NOT EXISTS php_dynamic DEFAULT CHARSET utf8;
-- 使用数据库
USE php_dynamic;
-- 创建用户表
CREATE TABLE IF NOT EXISTS users (
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
create_time DATETIME DEFAULT CURRENT_TIMESTAMP
);
2. PHP连接MySQL数据库
使用PDO扩展连接数据库,PDO支持多种数据库,且能有效防止SQL注入,是推荐的数据库操作方式。
<?php
// 数据库配置信息
$db_host = '127.0.0.1';
$db_name = 'php_dynamic';
$db_user = 'root';
$db_pass = '';
$db_charset = 'utf8';
// 连接数据库
try {
$dsn = "mysql:host=$db_host;dbname=$db_name;charset=$db_charset";
$pdo = new PDO($dsn, $db_user, $db_pass);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "数据库连接成功";
} catch (PDOException $e) {
die("数据库连接失败:" . $e->getMessage());
}
?>
三、动态功能模块实现
接下来实现两个核心动态功能:用户注册和用户列表展示,这两个功能覆盖了PHP动态网站的基本交互逻辑。
1. 用户注册功能
用户注册需要接收表单提交的用户名和密码,将密码加密后存入数据库,这里使用password_hash函数加密密码。
<?php
// 注册处理逻辑
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$username = trim($_POST['username']);
$password = trim($_POST['password']);
// 简单验证
if (empty($username) || empty($password)) {
echo "用户名和密码不能为空";
exit;
}
// 密码加密
$hashed_password = password_hash($password, PASSWORD_DEFAULT);
// 插入数据库
try {
$sql = "INSERT INTO users (username, password) VALUES (:username, :password)";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':username', $username);
$stmt->bindParam(':password', $hashed_password);
$stmt->execute();
echo "注册成功";
} catch (PDOException $e) {
echo "注册失败:" . $e->getMessage();
}
}
?>
<!-- 注册表单 -->
<form method="post" action="">
<p>用户名:<input type="text" name="username" required></p>
<p>密码:<input type="password" name="password" required></p>
<p><input type="submit" value="注册"></p>
</form>
2. 用户列表展示功能
从数据库中查询所有用户信息,动态生成HTML列表展示,实现页面内容的动态输出。
<?php
// 查询用户列表
try {
$sql = "SELECT id, username, create_time FROM users ORDER BY create_time DESC";
$stmt = $pdo->query($sql);
$user_list = $stmt->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
die("查询失败:" . $e->getMessage());
}
?>
<h3>用户列表</h3>
<ul>
<?php if (!empty($user_list)): ?>
<?php foreach ($user_list as $user): ?>
<li>ID:<?php echo $user['id']; ?>,用户名:<?php echo $user['username']; ?>,注册时间:<?php echo $user['create_time']; ?></li>
<?php endforeach; ?>
<?php else: ?>
<li>暂无用户数据</li>
<?php endif; ?>
</ul>
四、源码整合与优化
将以上代码整合到同一个文件中,或者拆分为入口文件、数据库配置文件、功能模块文件,让源码结构更清晰。同时可以添加输入过滤、错误提示优化、页面样式调整等内容,完善动态网站的功能。
制作完成的PHP动态网站源码可以直接部署到支持PHP的服务器上,修改数据库连接配置即可正常运行,后续还可以根据需求添加文章发布、评论系统、用户权限管理等更多动态功能。