我們前面介紹了使用者登陸的主要功能,本頁就透過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>"; } } ?>
註:本節課程只是簡單示範使用者登錄,其程式碼僅供學習參考,不可直接用於專案。
下一節