プロが教えるわが家の防犯対策術!

Aプログラム後半部分より
//下記をセッション変数に登録
//$_SESSION[セッション変数名] = 値;
$_SESSION[suid] = $uid;
print "uid = ".$_SESSION[suid]. "<br>"; //確認してます
//ページをadminpageに飛ばす
?><BR>
<a href="adminpage.php">認証されました。管理者ページへ</a>
</body>
</html>

Bプログラム前半部分/*管理者ページadminpage.php*/
session_start();
print "uid = ".$_SESSION[suid]. "<br>";//確認表示
// いきなりこのページにアクセスがあった場合
if( !$_SESSION[suid] ){
session_destroy();
header("Location: index.php");
exit;
}
?>
というプログラムですが、Bのプログラムの確認表示部分で"$_SESSION[suid]"が表示されません。Aプログラムでは表示されます。
プログラムの他の部分は個別に動作確認済みです。
エラーとして、ユーザーページの移動時(成功プログラム)に使った$_SESSION[suid]の値が表示されたりもします。原因を教えて下さい。

A 回答 (1件)

Aプログラムでも session_start() をしているでしょうか。



AとBで
print "<pre>";
var_dump($_SESSION);
print "</pre>";
とするとどうなるでしょうか。

> <a href="adminpage.php">認証されました。管理者ページへ</a>
Bプログラムにはリンクのクリックにより行っているようですね。
Bプログラムに移動したときにページを更新するとどうなるでしょうか。
(更新ボタン、もしくはF5)
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!