PHP開發用戶登入模組之PHP...LOGIN

PHP開發用戶登入模組之PHP頁面

我們前面介紹了使用者登陸的主要功能,本頁就透過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>";
        }
    }
?>

註:本節課程只是簡單示範使用者登錄,其程式碼僅供學習參考,不可直接用於專案。

下一節
<?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>"; } } ?>
章節課件