PHP開發(fā)用戶登錄模塊之PHP頁面
我們前面介紹了用戶登陸的主要功能,本頁就通過PHP代碼來實(shí)現(xiàn)這些功能。
這里我們用POST方式來獲取數(shù)據(jù),比如用戶名和密碼。
<?php $username = $_POST["username"]; //用戶名 $password = $_POST["password"]; //密碼 $code = $_POST["code"]; //驗(yàn)證碼 ?>
需要連接數(shù)據(jù)庫并判斷是否連接成功,前面我們已經(jīng)介紹了制作數(shù)據(jù)庫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); ?>
要對用戶名和密碼這些進(jìn)行驗(yàn)證判斷,防止非法的登錄訪問
<?php if($username == "") { //echo "請?zhí)顚懹脩裘?lt;br>"; echo"<script type='text/javascript'>alert('請?zhí)顚懹脩裘?#39;);location='login.html'; </script>"; } if($password == "") { //echo "請?zhí)顚懨艽a<br><a href='login.html'>返回</a>"; echo"<script type='text/javascript'>alert('請?zhí)顚懨艽a');location='login.html';</script>"; } ?>
用戶填寫用戶名和密碼后需要去數(shù)據(jù)庫里面核對是否正確。核對正確后才能正常的登錄并跳轉(zhuǎn)到登陸成功頁面。
<?php if($rows) { //拿著提交過來的用戶名和密碼去數(shù)據(jù)庫查找,看是否存在此用戶名以及其密碼 if ($username == $rows["username"] && $password == $rows["password"]) { //echo "驗(yàn)證成功!<br>"; echo "<script type='text/javascript'>alert('登陸成功');location='success.html';</script>"; } else { //echo "用戶名或者密碼錯(cuò)誤<br>"; echo "<script type='text/javascript'>alert('用戶名或者密碼錯(cuò)誤');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"]; //驗(yàn)證碼 if($username == "") { //echo "請?zhí)顚懹脩裘?lt;br>"; echo"<script type='text/javascript'>alert('請?zhí)顚懹脩裘?#39;);location='login.html'; </script>"; } if($password == "") { //echo "請?zhí)顚懨艽a<br><a href='login.html'>返回</a>"; echo"<script type='text/javascript'>alert('請?zhí)顚懨艽a');location='login.html';</script>"; } if($code != $_SESSION['authcode']) //判斷填寫的驗(yàn)證碼是否與驗(yàn)證碼PHP文件生成的信息匹配 { echo "<script type='text/javascript'>alert('驗(yàn)證碼錯(cuò)誤!');location='login.html';</script>"; } $sql = "select * from login"; $result = mysqli_query($link, $sql); $rows = mysqli_fetch_array($result); if($rows) { //拿著提交過來的用戶名和密碼去數(shù)據(jù)庫查找,看是否存在此用戶名以及其密碼 if ($username == $rows["username"] && $password == $rows["password"]) { //echo "驗(yàn)證成功!<br>"; echo "<script type='text/javascript'>alert('登陸成功');location='success.html';</script>"; } else { //echo "用戶名或者密碼錯(cuò)誤<br>"; echo "<script type='text/javascript'>alert('用戶名或者密碼錯(cuò)誤');location='login.html';</script>"; //echo "<a href='login.html'>返回</a>"; } } ?>
注:本節(jié)課程只是簡單演示用戶登錄,其代碼僅供學(xué)習(xí)參考,不可直接用于項(xiàng)目。