PHP+MySQL 传统用户管理系统:文件结构与核心代码解析
本教程通过一组经典 PHP 脚本,展示如何构建一个基于 MySQL 的用户管理系统。项目包含数据库连接配置、用户列表展示、以及新增、查看、编辑和删除用户的完整业务流程。
系统准备与文件结构
该系统由多个 PHP 文件组成,主要职责分工明确。在开始编写或运行代码前,需确保本地环境支持 PHP 解析并能访问 MySQL 数据库。以下是核心文件列表及其用途:
dbconn.php:负责创建数据库连接并设置字符集,供其他页面引用。userListt.php:查询数据库,以表格形式展示所有用户信息,并提供操作入口。addUser.php&addDo.php:前者提供用户输入表单,后者处理数据入库逻辑。editUser.php&editDo.php:前者获取现有用户数据填充表单,后者执行更新操作。detailUser.php:用于单独查看某位用户的详细信息。deleteUser.php:根据 ID 执行数据删除操作。
第一步:建立数据库连接 (dbconn.php)
所有涉及数据库操作的页面都需要先连接到 MySQL 服务器。此步骤旨在统一连接配置,避免重复代码。
1. 配置连接参数
使用 mysql_connect 函数连接本地主机(localhost),用户名通常为 root,密码视实际情况而定。连接成功后,选择目标数据库(例如 hyxx)并设置字符编码为 UTF-8,以防止中文乱码。
<?php
// 创建数据库连接
$con = mysql_connect("localhost",'root','') or die('error:'.mysql_error());
mysql_select_db('hyxx',$con) or die('error:'.mysql_error());
mysql_query('set NAMES utf8');
?>
注意:在生产环境中,请修改密码并确保不使用已废弃的 mysql_* 扩展,建议后续迁移至 PDO 或 MySQLi。
第二步:展示用户列表 (userListt.php)
该页面用于从数据库中读取所有用户记录,并以 HTML 表格形式呈现。它是系统的入口页面,提供了增删改查的功能链接。
1. 查询与渲染列表
首先引入数据库配置文件,设置时区。然后构造 SQL 语句查询 user 表,按 ID 升序排列。使用循环遍历结果集,动态生成表格行。每行的“操作”列包含指向不同处理页面的锚点。
<?php
require_once 'inc/dbConn.php';
date_default_timezone_set("PRC");
$sql = "select * from user order by id asc";
$result = mysql_query($sql,$con);
$userList = '';
while($rs = mysql_fetch_array($result)){
$userList[] = $rs;
}
foreach ($userList as $user){
echo "
<tr>
<td> ".$user['id']."</td>
<td> ".$user['username']."</td>
... 省略部分字段 ...
<td> <a href='addUser.php'>增</a>
<a href='deleteUser.php?id=".$user['id']..">删</a>
<a href='editUser.php?id=".$user['id']..">改</a>
<a href='detailUser.php?id=".$user['id']..">查</a>
</td>
</tr>
";
}
?>
完成状态:浏览器显示包含所有用户数据的表格,且每项操作链接格式正确。
第三步:新增用户功能 (addUser.php 与 addDo.php)
新增用户分为两步:接收用户输入和处理后台数据入库。
1. 展示添加表单 (addUser.php)
该页面提供一个 HTML 表单,包含用户名、密码、性别、年龄、出生年月、爱好和个人简介等字段。其中出生年月采用三个下拉菜单(年、月、日)组合选择。表单提交目标是 addDo.php,方法为 POST。
出生年月日的选项通过硬编码或循环生成,确保覆盖常见日期范围。
2. 处理插入逻辑 (addDo.php)
在 addDo.php 中,首先接收 POST 数据。对于性别,将字符串“男/女”转换为数字 1/2 存储。对于出生年月,使用 mktime 函数将年、月、日转换为 Unix 时间戳。当前时间也使用时间戳函数生成,作为 add_time 和 last_login 的值。
<?php
require_once 'inc/dbConn.php';
// 获取并提交数据
$user_name = $_POST['user_name'];
$password= $_POST['password'];
// ... 其他字段处理 ...
$birthday=mktime(0,0,0,$birthday_m,$birthday_d,$birthday_y);
$addTime=mktime(date("h"),date("m"),date("s"),date("m"),date("d"),date("Y"));
$sql = "insert into user (username,password,sex,age,birthday,hobby,profile,add_time,last_login) values('$user_name','$password','$sex','$age','$birthday','$hobby','$profile','$addTime','$lastLoginTime')";
mysql_query($sql,$con);
if(mysql_affected_rows() >= 1){
echo "<script type='text/javascript'>alert('添加成功');window.location.href='userListt.php'</script>";
}else{
echo "<script type='text/javascript'>alert('添加失败')</script>";
}
?>
完成判断:页面弹出成功提示,并自动跳转回用户列表页,列表中可见新添加的记录。
第四步:编辑用户功能 (editUser.php 与 editDo.php)
编辑功能类似新增,区别在于需要先查询现有数据进行回填,最后执行 UPDATE 语句而非 INSERT。
1. 加载并编辑已有数据 (editUser.php)
通过 URL 参数 ?id=xxx 获取要编辑的用户 ID。查询该 ID 对应的用户信息后,将值填入表单的对应输入框中。对于出生年月,需要先将时间戳拆解为具体的年月日,并在下拉菜单中添加 selected 属性以实现默认选中。
2. 保存更改 (editDo.php)
接收表单数据后,同样处理性别转换和时间戳。执行更新的 SQL 语句:update user set username='...', password='...' where id='$user_id'。
通过检查影响的行数来判断更新是否成功,并给出相应提示和跳转。
第五步:查看与删除用户 (detailUser.php 与 deleteUser.php)
1. 查看用户详情
detailUser.php 同样通过 GET 参数获取 ID,查询单条记录后,以表格形式只读展示所有字段。性别字段根据存储的数字进行翻译(1为男,2为女,其他为保密)。底部提供返回按钮,跳回列表页。
2. 删除用户记录
deleteUser.php 是一个简洁的后端处理脚本。它接收 $_GET['id'],构建删除语句:delete from user where id='$id'。
执行查询后,根据受影响行数判断是否成功,并通过 JavaScript 弹窗提示结果,最终重定向回用户列表。
<?php
require_once 'inc/dbConn.php';
$id = $_GET['id'];
$sql = "delete from user where id='$id'";
mysql_query($sql,$con);
$rows = mysql_affected_rows();
if($rows >=1){
echo "<script type='text/javascript'>alert('删除成功');window.location.href='userListt.php'</script>";
}else{
echo "<script type='text/javascript'>alert('删除失败')</script>";
}
?>
总结
以上是一套完整的传统 PHP + MySQL 用户管理系统实现方案,涵盖了数据库连接的初始化和常见的 CRUD(增删改查)操作。通过理解这些文件的相互调用关系、SQL 语句的构造以及前后端数据的传递方式,可以掌握基础 Web 应用开发的逻辑。以上就是PHP实现MySQL数据库连接操作及用户管理的详细内容,更多关于PHP基础开发资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









