我從登錄頁面($ _SESSION ['login'])設置會話變量。我已經徹底測試過了,變量肯定正在創建,並且正在存儲的值正確($ _SESSION ['login'] ='1'),但該變量在下一頁使用Chrome,Opera或Firefox無法識別奇怪的是,相同的腳本在Safari和Internet Explorer中運行得如我所願。會話變量在IE和Safari中工作,但不是Chrome,Opera或Firefox?
任何幫助都將不勝感激 - 我一直試圖找出這一個一段時間,只是不能得到它 - 我在這裏完全損失。
這裏是一步一步 -
<?php
// log in page
// if logged in successfully set the session variable
session_start();
if (// log in credentials good) {
$_SESSION['login'] = '1';
header('location:inside_page.php');
// echo $_SESSION['login'] ;
// ----------------------
// commenting out the redirect and echoing
// the session variable works as expected
// in IE, Safari, Chrome, Opera and Firefox
}
?>
這裏是我的Check_login類 - 它獲得的下頁(inside_page.php)實例 -
類:
<?php
if (! defined('EXT')){ exit('Invalid file request'); }
class Check_login {
private $login = null ;
function __construct() {
session_start();
$this->login = $_SESSION['login'];
if ($this->login != '1') {
header('location:../index.php');
}
// $login = $this->login ;
// echo $login ;
// $session = $_SESSION['login'];
// echo $session ;
// ----------------------
// commenting out the redirect and echoing the
// session variable shows 1 in IE and Safari, but
// empty in Chrome, Opera and Firefox
}
}
?>
頁( inside_page.php):
<?php
require('../lib/Check_login.php');
session_start();
$login = new Check_login;
?>
再一次,任何幫助都是非常棒的。謝謝!
<:( - 未解決問題。謝謝,雖然! – canoebrain
@canoebrain您是否使用Cookie?並且這是您當前的整個腳本? –
不,我沒有發佈我的整個腳本,我實際上調用了一些類和其他事情,但我已經把它解釋成問題出現的地方。如果我創建一個頁面,設置我的會話變量等於1,然後重定向到我打電話給我的類的下一個頁面(這正是我正在使用的類)我有這個問題。我很想知道這是Chrome中的一些設置,但它也發生在Opera和Firefox中......哦,我根本沒有使用任何cookie。 – canoebrain