我在保持會話在我的網站的主目錄中處於活動狀態時出現問題。會話在頁面上消失
我有一個名爲login.php
的文件,其中設置了會話。然後,如果我導航到index.php
並執行print_R($_SESSION)
,它會打印它。然後我去gallery.php
,它不見了。以相反的順序也是如此:如果我先去gallery.php
,然後在index.php
中消失,則會出現。
我在想這可能是php.ini
有關。
編輯: 好,我想通了,這是一個包含文件造成這個,它包括兩個頁面,叫「nav.php」上
<?php
session_start();
$logout = intval($_GET['logout']);
if(isset($logout)){
session_destroy();
//header('Location: '$_SERVER['PHP_SELF']);
}
echo '<a href="/index.php" title ="home" class="navbutton">home</a>
<a href="/gallery.php" title ="gallery"class="navbutton">gallery</a>
<a href="/info.php"title ="info"class="navbutton">info</a>
<a href="/contact.php"title="contact"class="navbutton">contact</a>';
if(isset($_SESSION['names']) || isset($_SESSION['guestlogin'])){echo '<a href="'.$_SERVER['PHP_SELF'].'?logout=1" title="logout"class="navbutton">logout</a>';
echo'<a href="/gallery" title ="gallery"class="navbutton"> test gallery</a>';
}
else{echo '<a href="/login" title="login"class="navbutton">login</a>';
}
echo'<a href="/blog"title ="blog"class="navbutton">blog</a>
<a href="/prints"title ="prints"class="navbutton">prints</a>';?>
不可能是B/C有session_destroy在它還是什麼?所有包含文件都應該有一個session_start對他們?
如果您發佈了gallery.php代碼 – 2012-07-28 14:25:32
,我們可以提供幫助。您的代碼可能有問題。 – 2012-07-28 14:25:56
我的猜測是那個gallery.php缺少session_start() – MilMike 2012-07-28 14:32:36