PHP開(kāi)発ユーザーログインモジュールPHPページ
ユーザーログインの主な機(jī)能を以前に紹介しましたが、このページではこれらの機(jī)能を PHP コードを通じて実裝します。
ここでは、POSTメソッドを使用してユーザー名やパスワードなどのデータを取得します。
<?php $username = $_POST["username"]; //用戶名 $password = $_POST["password"]; //密碼 $code = $_POST["code"]; //驗(yàn)證碼 ?>
データベースに接続し、接続が成功したかどうかを確認(rèn)する必要があります。以前にデータベースのテストとテーブルログインの作成を紹介しましたが、ここでは直接接続できます。
<?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 "請(qǐng)?zhí)顚?xiě)用戶名<br>"; echo"<script type='text/javascript'>alert('請(qǐng)?zhí)顚?xiě)用戶名');location='login.html'; </script>"; } if($password == "") { //echo "請(qǐng)?zhí)顚?xiě)密碼<br><a href='login.html'>返回</a>"; echo"<script type='text/javascript'>alert('請(qǐng)?zhí)顚?xiě)密碼');location='login.html';</script>"; } ?>
ユーザーは、ユーザー名とパスワードを入力した後、データベースにアクセスして、それらが正しいかどうかを確認(rèn)する必要があります。検証が正しかった場(chǎng)合にのみ、通常にログインしてログイン成功ページにジャンプできます。
<?php if($rows) { //拿著提交過(guò)來(lái)的用戶名和密碼去數(shù)據(jù)庫(kù)查找,看是否存在此用戶名以及其密碼 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 //開(kāi)啟Session session_start(); header("Content-type:text/html;charset=utf-8"); $link = mysqli_connect('localhost','root','root','test'); if (!$link) { die("連接失敗:".mysqli_connect_error()); } //接受提交過(guò)來(lái)的用戶名及密碼 $username = $_POST["username"];//用戶名 $password = $_POST["password"];//密碼 $code = $_POST["code"]; //驗(yàn)證碼 if($username == "") { //echo "請(qǐng)?zhí)顚?xiě)用戶名<br>"; echo"<script type='text/javascript'>alert('請(qǐng)?zhí)顚?xiě)用戶名');location='login.html'; </script>"; } if($password == "") { //echo "請(qǐng)?zhí)顚?xiě)密碼<br><a href='login.html'>返回</a>"; echo"<script type='text/javascript'>alert('請(qǐng)?zhí)顚?xiě)密碼');location='login.html';</script>"; } if($code != $_SESSION['authcode']) //判斷填寫(xiě)的驗(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) { //拿著提交過(guò)來(lái)的用戶名和密碼去數(shù)據(jù)庫(kù)查找,看是否存在此用戶名以及其密碼 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ǎn)単なデモンストレーションにすぎず、そのコードは學(xué)習(xí)の參照のみを目的としており、プロジェクトで直接使用することはできません。