PHP開發(fā)用戶登入模組之PHP頁面
我們前面介紹了使用者登陸的主要功能,本頁就透過PHP程式碼來實現(xiàn)這些功能。
這裡我們用POST方式來取得數(shù)據(jù),像是使用者名稱和密碼。
<?php $username = $_POST["username"]; //用戶名 $password = $_POST["password"]; //密碼 $code = $_POST["code"]; //驗證碼 ?>
需要連接資料庫並判斷是否連接成功,前面我們已經(jīng)介紹了製作資料庫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 "請?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>"; } ?>
使用者填寫使用者名稱和密碼後需要去資料庫裡面核對是否正確。核對正確後才能正常的登入並跳到登陸成功頁面。
<?php if($rows) { //拿著提交過來的用戶名和密碼去數(shù)據(jù)庫查找,看是否存在此用戶名以及其密碼 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 "請?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']) //判斷填寫的驗證碼是否與驗證碼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) { //拿著提交過來的用戶名和密碼去數(shù)據(jù)庫查找,看是否存在此用戶名以及其密碼 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>"; } } ?>
註:本節(jié)課程只是簡單示範(fàn)使用者登錄,其程式碼僅供學(xué)習(xí)參考,不可直接用於專案。