Web サイトのホーム ディレクトリでセッションをアクティブに保つのに問題があります。
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 があるはずですか?