使用会话和会话变量的PHP登录脚本
P粉726133917
P粉726133917 2023-08-21 19:01:51
0
2
486
<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
 }
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板