一、文档结构
将各页面公用的页头、页尾、数据库连接文件、数据库配置文件放到公共文件夹public中,将注册等操作页面放在根目录下。
二、页面代码
1、login.php文件代码如下:
<?php include 'public/header.php';?> <div class="container"> <div class="row"> <div class="col-md-12"> <h3 class="text-center">用户注册</h3> <form action="register.php" method="post" class="form-horizontal"> <div class="form-group"> <label for="exampleInputEmail1">用户名</label> <input type="text" class="form-control" id="name" placeholder="userName" name="name"> </div> <div class="form-group"> <label for="exampleInputEmail1">Email</label> <input type="email" class="form-control" id="email" name="email" placeholder="Email"> </div> <div class="form-group"> <label for="exampleInputPassword1">密码</label> <input type="password" class="form-control" id="password1" name="password1" placeholder="Password"> </div> <div class="form-group"> <label for="exampleInputPassword1">校验密码</label> <input type="password" class="form-control" id="password2" name="password2" placeholder="Password"> </div> <button type="submit" class="btn btn-primary btn-block">注册</button><br> </form> </div> </div> </div> <?php include 'public/footer.php' ?>
2、对logoin进行操作的register.php文件代码如下:
<?php
/** 1、检测表单提交过来的信息 */
$pageTitle = '注册处理'; //设置当前页面的标题
include 'public/header.php'; //引入页头
//判断当前请求方法是否为POST方法,然后对用户的注册请求进行处理
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
$erro = []; //创建一个数组,用来存放错误信息
//检测用户名
if (empty($_POST['name'])) {
$erro[] = '没有输入用户名,请检查';
}else{
$name = trim($_POST['name']);
}
//检测邮箱
if (empty($_POST['email'])) {
$erro[] = '没有输入邮箱,请检查';
}else{
$email = trim($_POST['email']);
}
//检测密码,因为密码需要输入两遍,所以要做相等的验证
if (empty($_POST['password1'])) { //第一行密码如果为空
$erro[] = '没有输入密码,请检查';
}else{
if (empty($_POST['password2'])){ //第二行密码如果为空
$erro[] = '没有输入校验密码,请检查';
}else{
if ($_POST['password1'] == $_POST['password2']){ //判断两次密码输入是否一致
$password = trim($_POST['password1']);
}else{
$erro[] = '两次密码输入不一致,请检查';
}
}
}
//如果错误信息数组为空,表示注册操作正确,将数据写入数据库
if (empty($erro)){
require 'public/connect.php'; //连接数据库
//创建sql语句
$sql = "INSERT user SET `name`='{$name}', `email`='{$email}',`password`=sha1('{$password}')";
//执行插入操作
if (mysqli_query($db,$sql)){
echo '<script>alert("成功添加了'.mysqli_affected_rows($db).'条记录,主键id是'.mysqli_insert_id($db).'")</script>';
echo "<script language='javascript'>window.location='http://localhost/26/login.php'</script>";
}else{
echo '<h3 style="color:red" >添加失败'.mysqli_error($db).'</h3>';
}
//关闭连接
mysqli_close($db);
}else{
//打印erro数组
foreach ($erro as $message) {
echo '<h3 style="color:red">'.$message.'</h3>'; //输出错误信息
}
}
}
include 'public/footer.php'; //导入公共尾部3、对数据库中数据查看的页面view.php代码如下:
<?php
header('Content-Type:text/html,charest=utf-8');
$pageTitle = '用户信息一览表'; //设置页面title
include 'public/header.php'; //引入头部文件
require 'public/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))
$rows[] = $row; //将每一次返回的结果存入数组$rows中,这是最终返回的结果
// print_r($rows);查看查询是否有结果
}else {
echo '数据表为空'.mysqli_error($db);
}
//释放结果
mysqli_free_result($result);
//关闭数据连接
mysqli_close($db);
?>
<div class="container">
<div class="row">
<div class="col-md-12">
<table class="table table-bordered table-responsive text-center">
<tr class="h5 bg-primary">
<td>ID</td>
<td>用户名</td>
<td>邮箱</td>
<td>操作</td>
</tr>
<!--
1.下面循环输出用户信息,用foreach()的替代语法.
2. 替代语法的目标就是一个: 干掉php代码中的大括号,因为html与php混写的时候,不断的切换会有很多大括号
3. 过多的大括号,即不利于代码整洁,也容易出错,不利于代码维护
-->
<?php foreach ($rows as $row) : ?>
<tr>
<td><?php echo $row['id']; ?></td>
<td><?php echo $row['name']; ?></td>
<td><?php echo $row['email']; ?></td>
<!-- 添加编辑和删除操作时,用链接式的按钮更合适-->
<td>
<a class="btn btn-primary" href="edit.php?id=<?php echo $row['id']?>" role="button">编辑</a>
<a class="btn btn-danger" href="delete.php?id=<?php echo $row['id']?>" role="button">删除</a>
</td>
</tr>
<?php endforeach;?>
</table>
</div>
</div>
</div>
<?php include 'public/footer.php'; //引入尾部文件 ?>4、编辑页面eidt.php代码如下:
<?php
/** 1、检测表单提交过来的信息 */
$pageTitle = '编辑处理'; //设置当前页面的标题
include 'public/header.php'; //引入页头
$id = $_GET['id']; //获取当前记录的id
require 'public/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);
}
?>
<div class="container">
<div class="row">
<div class="col-md-12">
<h3 class="text-center">用户编辑</h3>
<form action="do_edit.php?id=<?php echo $row['id']?>" method="post" class="form-horizontal">
<div class="form-group">
<label for="exampleInputEmail1">用户名</label>
<input type="text" class="form-control" id="name" placeholder="userName" name="name" value="<?php echo $row['name']?>" readonly>
</div>
<div class="form-group">
<label for="exampleInputEmail1">Email</label>
<input type="email" class="form-control" id="email" name="email" placeholder="Email" value="<?php echo $row['email']?>">
</div>
<button type="submit" class="btn btn-primary btn-block">保存</button><br>
</form>
</div>
</div>
</div>
<?php include 'public/footer.php'; //导入公共尾部 ?>5、执行编辑操作的文件do_eidt.php代码如下:
<?php
/**
* 直接复用注册处理程序
* 1.检测编辑表单提交过来的信息
* 2.对用户的提交信息进行检查并更新数据表
* 3.对错误进行处理
*/
$pageTitle = '修改处理'; //设置当前页面的标题
include 'public/header.php'; //引入页头
//判断当前请求方法是否为POST方法,然后对用户的注册请求进行处理
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
$erro = []; //创建一个数组,用来存放错误信息
//检测邮箱
if (empty($_POST['email'])) {
$erro[] = '没有输入邮箱,请检查';
}else{
$email = trim($_POST['email']);
}
//如果错误信息数组为空,表示注册操作正确,将数据写入数据库
if (empty($erro)){
require 'public/connect.php'; //连接数据库
//创建sql语句
$sql = "UPDATE user SET `email`='{$email}' WHERE `id`= {$_GET['id']}";
//执行插入操作
if (mysqli_query($db,$sql)){
echo '<script>alert("修改成功!")</script>';
echo "<script language='javascript'>window.location='http://localhost/26/view.php'</script>";
}else{
echo '<script>alert("修改失败!")</script>';
}
//关闭连接
mysqli_close($db);
}else{
//打印erro数组
foreach ($erro as $message) {
echo '<h3 style="color:red">'.$message.'</h3>'; //输出错误信息
}
}
}
include 'public/footer.php'; //导入公共尾部6、执行删除操作的页面delete.php文件代码如下:
<?php
require 'public/connect.php'; //连接数据库
//创建查询语句
$sql = "DELETE FROM user WHERE id=".$_GET['id'];
echo '<script>alert("确定要删除吗?")</script>';
//删除操作
if (mysqli_query($db,$sql)) {
echo '<script>alert("成功删除了'.mysqli_affected_rows($db).'条记录")</script>';
echo "<script language='javascript'>window.location='http://localhost/26/view.php'</script>";
}else {
echo '<script>alert("删除失败'.mysqli_error($db).'")</script>';
echo "<script language='javascript'>window.location='http://localhost/26/view.php'</script>";
}
mysqli_close($db);
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号