一、文档结构
将各页面公用的页头、页尾、数据库连接文件、数据库配置文件放到公共文件夹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);