1. 程式人生 > 程式設計 >PHP實現簡易使用者登入系統

PHP實現簡易使用者登入系統

PHP簡易使用者登入系統,供大家參考,具體內容如下

最近剛剛看到PHP連線資料庫的例項,於是做了一個簡易的使用者系統

直接上程式碼

連線資料庫:connect.php

<?php
$servername = "localhost";
$username = "formbd";
$password = "formbd";
$dbname = "form";
 
// 建立連線
$conn = new mysqli($servername,$username,$password,$dbname);
 
// 檢測連線
if ($conn->connect_error) {
  die("連線失敗: " . $conn->connect_error);
}

?>

使用者註冊前端頁面:reg.html

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>使用者註冊頁面</title>
  </head>
  <body>
    <form action="reg.php" method="post">
      <p>使用者名稱:<input type="text" name="name"></p>
      <p>密 碼: <input type="text" name="password"></p>
      <p><input type="submit" name="submit" value="註冊">
        <a href="login.html" ><input type="button" name="login" value="已有賬號,返回登入"></a>
      </p>
    </form>
  </body>
</html>

註冊後端處理:reg.php

<?php 
  header("Content-Type: text/html; charset=utf8");

  if(!isset($_POST['submit'])){
    exit("錯誤執行");
  }//判斷是否有submit操作

  $name=$_POST['name'];//post獲取表單裡的name
  $user_password=$_POST['password'];//post獲取表單裡的password

  include('connect.php');//連結資料庫
  $q="insert into user(id,username,password) values (null,'$name','$user_password')";//向資料庫插入表單傳來的值的sql
  $sql = "select * from user where username = '$name'";
  
  if (($conn->query($sql))==$name) {
    echo '使用者名稱已存在';
    $result = $conn->query($sql);
    /*echo "
          <script>
              setTimeout(function(){window.location.href='reg.html';},1000);
          </script>

        ";*/
  }
  else {
  $conn->query($q);
  echo "註冊成功";
  echo "
          <script>
              setTimeout(function(){window.location.href='login.html';},1000);
          </script>

        ";
}
  
  $conn->close();//關閉資料庫

?>

使用者登入前端頁面:login.html

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>登陸</title>
  </head>
  <body>
    <form name="login" action="login.php" method="post">
        <p>使用者名稱<input type=text name="name"></p>
        <p>密 碼<input type=password name="password"></p>
        <p><input type="submit" name="submit" value="登入">
          <a href="reg.html" ><input type="button" name="reg" value="註冊"></a>
        </p>

      </form>
  </body>
</html>

登入後端處理:login.php

<?PHP
  header("Content-Type: text/html; charset=utf8");
  if(!isset($_POST["submit"])){
    exit("錯誤執行");
  }//檢測是否有submit操作

  include('connect.php');//連結資料庫
  $name = $_POST['name'];//post獲得使用者名錶單值
  $passowrd = $_POST['password'];//post獲得使用者密碼單值

  if ($name && $passowrd){//如果使用者名稱和密碼都不為空
       $sql = "select * from user where username = '$name' and password='$passowrd'";//檢測資料庫是否有對應的username和password的sql

       $result = $conn->query($sql);//執行sql
       $rows=$result->fetch_assoc();//返回一個數值
       if($rows){//0 false 1 true
          header("refresh:0;url=success.php");//如果成功跳轉至success.php頁面
          exit;
       }else{
        echo "使用者名稱或密碼錯誤";
        echo "
          <script>
              setTimeout(function(){window.location.href='login.html';},1000);
          </script>

        ";//如果錯誤使用js 1秒後跳轉到登入頁面重試;
       }
      

  }else{//如果使用者名稱或密碼有空
        echo "表單填寫不完整";
        echo "
           <script>
              setTimeout(function(){window.location.href='login.html';},1000);
           </script>";

            //如果錯誤使用js 1秒後跳轉到登入頁面重試;
  }

  $conn->close();//關閉資料庫
?>

登入成功後:success.php

PS:功能未完善

<?php 
include 'connect.php';
session_start(); //宣告變數
$username = isset($_SESSION['nmae']) ? $_SESSION['name'] : "";
?>
<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>登陸成功</title>
  </head>
  <body>
    歡迎光臨
    <?php echo $username;?>
    <?php ?>
  </body>
</html>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。