使用會話和會話變數的PHP登入腳本
P粉726133917
P粉726133917 2023-08-21 19:01:51
0
2
434
<p>我剛剛在PHP中完成了一個完整的登入和註冊系統,但我的問題是我還沒有使用任何會話。我在PHP方面是個新手,以前從未使用過會話。我想要做的是,用戶在註冊並填寫登入表單後,仍然停留在同一頁。因此,頁面的一部分將是如果會話已登錄,另一部分將是否則(使用者未登錄,因此顯示登入表單)。有人可以告訴我如何入門嗎? </p>
P粉726133917
P粉726133917

全部回覆(2)
P粉573809727

這是使用PHP編寫的最簡單的會話程式碼。 我們使用了3個文件。

login.php

##
<?php  session_start();   // 使用此函数启动会话


if(isset($_SESSION['use']))   // 检查会话是否已存在,如果存在则直接重定向到主页
 {
    header("Location:home.php"); 
 }

if(isset($_POST['login']))   // 检查用户是否点击了登录按钮
{
     $user = $_POST['user'];
     $pass = $_POST['pass'];

      if($user == "Ank" && $pass == "1234")  // 用户名默认为“Ank”,密码默认为1234
         {                                   

          $_SESSION['use']=$user;


         echo '<script type="text/javascript"> window.open("home.php","_self");</script>';            // 登录成功后重定向到home.php

        }

        else
        {
            echo "无效的用户名或密码";        
        }
}
 ?>
<html>
<head>

<title> 登录页面   </title>

</head>

<body>

<form action="" method="post">

    <table width="200" border="0">
  <tr>
    <td>  用户名</td>
    <td> <input type="text" name="user" > </td>
  </tr>
  <tr>
    <td> 密码  </td>
    <td><input type="password" name="pass"></td>
  </tr>
  <tr>
    <td> <input type="submit" name="login" value="登录"></td>
    <td></td>
  </tr>
</table>
</form>

</body>
</html>

home.php

#
<?php   session_start();  ?>

<html>
  <head>
       <title> 主页 </title>
  </head>
  <body>
<?php
      if(!isset($_SESSION['use'])) // 如果会话未设置,则重定向到登录页面
       {
           header("Location:Login.php");  
       }

          echo $_SESSION['use'];

          echo "登录成功";

          echo "<a href='logout.php'> 退出</a> "; 
?>
</body>
</html>

logout.php

##
<?php
 session_start();

  echo "成功退出";
  session_destroy();   // 销毁会话
  header("Location: Login.php");
?>
P粉348088995

開始會話,需要在頁面頂部或在呼叫會話程式碼之前說這句話

session_start();

將使用者ID放入會話中以追蹤誰已登入

$_SESSION['user'] = $user_id;

檢查是否有人已登入

if (isset($_SESSION['user'])) {
   // 已登录
 } else {
   // 未登录
 }

找到已登入使用者的ID

$_SESSION['user']

在您的頁面上

<?php
 session_start();


 if (isset($_SESSION['user'])) {
 ?>
   已登录的HTML和代码在这里
 <?php

 } else {
   ?>
   未登录的HTML和代码在这里
   <?php
 }
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!