簡體   English   中英

使用會話的php登錄和注銷

[英]php login and logout using session

我正在嘗試創建一個登錄頁面,但我遇到了會話變量的問題我的代碼: login.php

 <?php 
 require('DBConnect.php'); 
 session_start();
 if(isset($_SESSION['status'])){
     header("location: index.php");
     exit(0);
 }
?>

索引.php

<?php
   session_start();
   $user = $_SESSION['user'];
   if(!isset($_SESSION['status'])){header("location: login.php");}
?>

注銷.php

<?php
session_unset();     
session_destroy();
header("location: login.php");
exit(0);
?>

當我進入注銷頁面時,該頁面被重定向到 login.php 但它也再次重定向到 index.php 這意味着$_SESSION['status']已設置我僅在 POST 請求時設置這些 Session 變量已發送,這里有什么問題嗎? 提前致謝

您需要將session_start()添加到 logout.php 代碼的開頭。

您的代碼中存在邏輯缺陷。 logout.php 結束會話並將您重定向到 login.php,但 login.php 會啟動一個新會話,這就是為什么它會再次將您重定向到 index.php。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM