文档结构:
通用文件头部、底部文件保存在inc目录,css、js保存在static 文件
数据库结构及数据:
创建数据库CREATE TABLE IF NOT EXISTS `user` (
`id` int(4) NOT NULL AUTO_INCREMENT,
`name` varchar(20) NOT NULL,
`email` varchar(100) NOT NULL,
`password` varchar(40) NOT NULL,
`memo` varchar(200) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
导入数据INSERT INTO `user` (`id`, `name`, `email`, `password`, `memo`) VALUES
(1, '张三', 'zhangsan1@company.com', '7c4a8d09ca3762af61e59520943dc26494f8941b', NULL),
(2, '李四', 'lisi@company.com', 'dd5fef9c1c1da1394d6d34b248c51be2ad740840', NULL),
(3, '王五', 'wangwu@company.com', '601f1889667efaebb33b8c12572835da3f027f78', NULL);
示例源码:
通用文件:
header.phphtml>
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<?php echo isset($pageTitle)?$pageTitle:'注册'?>Toggle navigation
我的博客
- 首页 (current)
- 学习心得
- 编程技巧
- 源码分享
- 资料下载
footer.php
PHP中文网版权所有
// 给全部delete按钮添加click事件
$('a#delete').each(function () {
$(this).on('click', function () {
if(!confirm("确认要删除吗?"))
{
return false;//取消跳转到链接
}
});
});
主页面及代码:
list.php,显示数据列表
<?php
$pageTitle = '用户信息列表';
include 'inc/header.php';
//连接数据库
require 'inc/connect.php';
//查询用户信息表user
$sql = "SELECT * FROM user"; //创建查询语句
$result = mysqli_query($db, $sql); //执行查询
$rows = []; //创建查询结果容器,初始为空数组,该数组最终会成为一个二维数组,与数组表对应
if ($result && mysqli_num_rows($result) > 0) {
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC))
// print_r($row); //查看查询到的数据
$rows[] = $row; //将每一次查询到的结果放在数组$rows[]中,这是最终返回的结果
} else {
echo '
数据表为空,没有数据~~
';}
?>
用户信息表
ID | 姓名 | 邮箱 | 操作 |
<?php echo $row['id'] ?> | <?php echo $row['name'] ?> | <?php echo $row['email'] ?> | " target="_blank" role="button">详细 " target="_blank" role="button">编辑 " target="_blank" role="button">删除 |
新建
view.php,显示一条记录的详细信息<?php
$pageTitle = '用户信息详情';
include 'inc/header.php';
$id = $_GET['id']; //获取到要编辑的记录的id
require 'inc/connect.php'; //连接数据库
//准备查询语句
$sql = "SELECT * FROM `user` WHERE `id` = ".$id;
$res = mysqli_query($db, $sql); //执行查询
if ($res && mysqli_num_rows($res) > 0) {
//根据主键查询只会返回一条记录,不用循环处理
$row = mysqli_fetch_array($res, MYSQLI_ASSOC);
}
?>
用户信息详情
用户名
" readonly>
邮箱
" readonly>
备注
" readonly>
edit.php,编辑记录,提交到do_edit.php更新数据<?php include 'inc/header.php';
$id = $_GET['id']; //获取到要编辑的记录的id
require 'inc/connect.php'; //连接数据库
//准备查询语句
$sql = "SELECT * FROM `user` WHERE `id` = ".$id;
$res = mysqli_query($db, $sql); //执行查询
if ($res && mysqli_num_rows($res) > 0) {
//根据主键查询只会返回一条记录,不用循环处理
$row = mysqli_fetch_array($res, MYSQLI_ASSOC);
}
?>
用户信息编辑
" method="post">用户名
" readonly>
邮箱
">
保存
do_edit.php<?php
/**
* 1.检测表单数据有效性
* 2.更新数据表
* 3.处理错误信息
*/
$pageTitle = '更新处理'; //设置当前页面标题
include 'inc/header.php'; //导入公共文件头部
//1.检测表单数据有效性
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$error = []; //创建一个数组,用来保存出错信息
//用户名只读,跳过检查
//检查邮箱信息
if (empty($_POST['email'])) {
$error[] = '没有输入邮箱,请检查';
} else {
$email = trim($_POST['email']);
}
//如果错误信息数组空,数据有效,更新到数据库
//2.更新数据表
if (empty($error)) {
//连接数据库
require 'inc/connect.php';
//创建sql语句
$sql = "UPDATE user SET `email`='{$email}' WHERE `id`={$_GET['id']}";
//更新数据
if (mysqli_query($db, $sql)){
echo '
成功更新了'.mysqli_affected_rows($db).'条记录
';} else {
echo '
更新失败:'.mysqli_error($db).'
';}
//关闭连接
mysqli_close($db);
} else {
//打印出错误信息
foreach ($error as $message) {
echo '
'.$message.'
';}
}
}
include 'inc/footer.php'; //导入公共头部
delete.php,删除一条记录,删除前确认(在list.php页面)
<?php
require 'inc/connect.php';
$sql = "DELETE FROM user WHERE id=".$_GET['id'];
if (mysqli_query($db, $sql)){
echo '';
} else {
echo '';
}
mysqli_close($db);
register.php,添加新记录,提交到do_register.php处理数据<?php
$pageTitle = '用户注册';
include 'inc/header.php'
?>
用户注册
用户名
">
邮箱
">
密码
">
重复密码
">
注册
do_register.php<?php
/**
* 1.检测表单数据有效性
* 2.添加记录到数据表
* 3.处理错误信息
*/
$pageTitle = '用户注册'; //设置当前页面标题
include 'inc/header.php'; //导入公共文件头部
//1.检测表单数据有效性
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$error = []; //创建一个数组,用来保存出错信息
//检查用户名
if (empty($_POST['name'])) {
$error[] = '请输入用户名';
} else {
$name = trim($_POST['name']);
}
//检查邮箱
if (empty($_POST['email'])) {
$error[] = '请输入邮箱';
} else {
$email = trim($_POST['email']);
}
//检查密码。密码需要输入两遍,并且相同。
if (empty($_POST['password1'])) { //第一行密码如果为空
$error[] = '请输入密码';
} else { //再检查第二行的校验密码
if (empty($_POST['password2'])){ //如果没有输入第二行的校验密码
$error[] = '请输入校验密码';
} else { //比较2个密码
if ($_POST['password1'] == $_POST['password2']) {
$password = trim($_POST['password1']); //如果相等,继续
} else { //否则重新输入
$error[] = '两次输入的密码不一致';
}
}
}
//如果错误信息数组空,数据有效,添加到数据库
//2.添加记录到数据表
if (empty($error)) {
//连接数据库
require 'inc/connect.php';
//创建sql语句
$sql = "INSERT user SET `name`='{$name}', `email`='{$email}', `password`=sha1('{$password}')";
//添加记录操作
if (mysqli_query($db, $sql)){
echo '
成功添加了'.mysqli_affected_rows($db).'条记录
';} else {
echo '
添加失败:'.mysqli_error($db).'
';}
//关闭连接
mysqli_close($db);
} else {
//打印出错误信息
foreach ($error as $message) {
echo '
'.$message.'
';}
}
}
include 'inc/footer.php'; //导入公共头部