PHP+MySQL 传统用户管理系统:文件结构与核心代码解析

向北走
向北走
发布时间:2026-10-13| 7人浏览过
原创

本教程通过一组经典 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>&nbsp;".$user['id']."</td>
      <td>&nbsp;".$user['username']."</td>
      ... 省略部分字段 ...
      <td>&nbsp;<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基础开发资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。