我们前面介绍了用户登陆的主要功能,本页就通过PHP代码来实现这些功能。
这里我们用POST方式来获取数据,比如用户名和密码。
<?php $username = $_POST["username"]; //用户名 $password = $_POST["password"]; //密码 $code = $_POST["code"]; //验证码 ?>
需要连接数据库并判断是否连接成功,前面我们已经介绍了制作数据库test和表login,这里可以直接连接。
<?php $link = mysqli_connect('localhost','root','root','test'); if (!$link) { die("连接失败:".mysqli_connect_error()); } $sql = "select * from login"; $result = mysqli_query($link, $sql); $rows = mysqli_fetch_array($result); ?>
要对用户名和密码这些进行验证判断,防止非法的登录访问
<?php if($username == "") { //echo "请填写用户名<br>"; echo"<script type='text/javascript'>alert('请填写用户名');location='login.html'; </script>"; } if($password == "") { //echo "请填写密码<br><a href='login.html'>返回</a>"; echo"<script type='text/javascript'>alert('请填写密码');location='login.html';</script>"; } ?>
用户填写用户名和密码后需要去数据库里面核对是否正确。核对正确后才能正常的登录并跳转到登陆成功页面。
<?php if($rows) { //拿着提交过来的用户名和密码去数据库查找,看是否存在此用户名以及其密码 if ($username == $rows["username"] && $password == $rows["password"]) { //echo "验证成功!<br>"; echo "<script type='text/javascript'>alert('登陆成功');location='success.html';</script>"; } else { //echo "用户名或者密码错误<br>"; echo "<script type='text/javascript'>alert('用户名或者密码错误');location='login.html';</script>"; //echo "<a href='login.html'>返回</a>"; } } ?>
完整login.php文件代码:
<?php //开启Session session_start(); header("Content-type:text/html;charset=utf-8"); $link = mysqli_connect('localhost','root','root','test'); if (!$link) { die("连接失败:".mysqli_connect_error()); } //接受提交过来的用户名及密码 $username = $_POST["username"];//用户名 $password = $_POST["password"];//密码 $code = $_POST["code"]; //验证码 if($username == "") { //echo "请填写用户名<br>"; echo"<script type='text/javascript'>alert('请填写用户名');location='login.html'; </script>"; } if($password == "") { //echo "请填写密码<br><a href='login.html'>返回</a>"; echo"<script type='text/javascript'>alert('请填写密码');location='login.html';</script>"; } if($code != $_SESSION['authcode']) //判断填写的验证码是否与验证码PHP文件生成的信息匹配 { echo "<script type='text/javascript'>alert('验证码错误!');location='login.html';</script>"; } $sql = "select * from login"; $result = mysqli_query($link, $sql); $rows = mysqli_fetch_array($result); if($rows) { //拿着提交过来的用户名和密码去数据库查找,看是否存在此用户名以及其密码 if ($username == $rows["username"] && $password == $rows["password"]) { //echo "验证成功!<br>"; echo "<script type='text/javascript'>alert('登陆成功');location='success.html';</script>"; } else { //echo "用户名或者密码错误<br>"; echo "<script type='text/javascript'>alert('用户名或者密码错误');location='login.html';</script>"; //echo "<a href='login.html'>返回</a>"; } } ?>
注:本节课程只是简单演示用户登录,其代码仅供学习参考,不可直接用于项目。
下一节