php注册审核
注册审核:
通过注册审核,可以判断刚创建的账户是否可以登入。
后台管理员审核通过后,账号可以登入。
原理:通过数据库设置账号的一个字段状态,例: isok:1, isok:0,当isok为1时审核通过,此账号可以登入,当isok为0时审核未通过,此账号不可登入。
1.首先需要建立一个表:
表中的isok就是来判断是否通过审核,0就是没有通过审核,无法登入;
就是已经通过审核,可以登入;
2.建立一个登入页面:
<body> <h1>登入页面</h1> <form action="dengrucl.php" method="post"> 帐号:<input type="text" name="zhang"/> 密码:<input type="text" name="mi"/> <input type="submit" value="登入"/> </form> </body>
登入处理:
<?php $zhang = $_POST["zhang"]; $mi = $_POST["mi"]; //取值 $db = new mysqli("localhost","root","12345678","heiheihei"); //调用封装类 //对象 $sql = "select mi from mydb WHERE zhang = '{$zhang}'"; //写sql语句,防注入攻击,账号作为条件 $r = $db->Query($sql,1); $attr = $r->fetch_row(); //来取到一串数据,我要的是数组 if(!empty($mi)&&$attr[0]==$mi) //判断吧亲,密码不能为空,并且取到的必须和我数据中的相同 { header("location:zhuceshenhe.php"); //判断成功;进入这个页面 } else { echo "输得不对,你的问题!"; }
3.注册页面
<?php $zhang = $_POST["zhang"]; $mi = $_POST["mi"]; $name = $_POST["name"]; include ("db.class.php"); $db = new db(); $sql = "insert into mydb VALUES ('{$zhang}','{$mi}','{$name}',0)"; //默认isok=0 if($db -> Query($sql,0)) //增删改+0 { header("location:dengru.php"); } else{ echo "失败"; }
4.更改条件
在登入处理里面
$sql = "select * from mydb WHERE zhang = '{$zhang}'"; //写sql语句,防注入攻击,账号作为条件 $r = $db->Query($sql,1); $attr = $r->fetch_row(); //来取到一串数据,我要的是数组 if(!empty($mi)&&$attr[1]==$mi) //判断吧亲,密码不能为空,并且取到的必须和我数据中的相同 { if($attr[3]) //看一下isok是否为ture { header("location:zhuceshenhe.php"); //判断成功;进入这个页面 } else{ echo "未通过审核"; //isok如果不为ture } }
改为查所有,并且在判断里面在写一个判断,判断isok的状态
如果登入的帐号的isok为ture即通过审核
false则:
5.审核页面:
用于管理,通过审核
<body> <h1>用户审核</h1> <table border="1" cellpadding="0" cellspacing="0" width="100%"> <tr> <td>用户名</td> <td>姓名</td> <td>操作</td> </tr>
<?php include ("db.class.php"); $db = new db(); $sql = "select * from mydb"; $arr = $db->Query($sql); foreach ($arr as $v) { $str = $v[3]?"<span style='已通过</span>": "<a href='tongguo.php?zhang={$v[0]}'>点击通过</a>"; //三元运算符如果isko列为ture,让他显示已通过 //如果为false,跳转到通过页面通过并传了一个主键值点击的帐号 echo "<tr> <td>{$v[0]}</td> <td>{$v[2]}</td> <td>{$str}</td> </tr>"; } ?>
</table> </body>
图:
6.再来做一个点击通过的处理页面:
完成图:
小花的账号已经可以登入
7.驳回操作
已通过按钮后面可以增加一个驳回的连接:
<?php $zhang = $_GET["zhang"]; include("db.class.php"); $db = new db(); $sql = "update mydb set isok=0 WHERE zhang = '{$zhang}'"; if($db->Query($sql,0)) { header("location:mainex.php"); } else { echo "修改失败"; }
图: