簡體   English   中英

PHP,如果會話開始重定向到不同的頁面

[英]PHP, if session is started redirect to a different page

<?php 
1.
 if (isset($_SESSION['username'])) {
header('Location: log.php');
}

2.
 if (session_id() != '') {
    header('Location: log.php');
}
3.
if(isset($_SESSION['username']))
{
    header("Location: log.php");
    exit;
}

4.
 if (session_status() != PHP_SESSION_NONE) {
    header("Location: log.php");
}

?>

如果會話是活動的,我希望我的php重定向到main.php到log.php。 我希望實現登錄用戶無法訪問頁面的效果,一旦他們嘗試通過URL進行操作,他們就會自動重定向到不同的頁面。 以上是我所做的嘗試,並沒有為我工作。

你需要session_start

session_start();
if(!isset($_SESSION['username'])) {
    header("Location: log.php");
    exit;
}

我想你錯過了對php session_start()的調用。 嘗試這個:

<?php
session_start();
if (isset($_SESSION['username'])) { header('Location: log.php'); }
?>

並確保您使用記錄帳戶。

雖然它已經過了4年,但我剛剛解決了這個問題。

請確保所有這些問題:1。所有頁面必須在開頭設置以下參數if(session_status()== PHP_SESSION_NONE){session_start();}

  1. 添加會話變量必須使用$ _SESSION才能將會話設置為全局

  2. 出口(); 必須在標題后添加(“location:$ URL”);

暫無
暫無

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

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