phpでのセッション管理について質問します。
初歩的な内容なのですが、、、
before.php
<?php
session_start();
$_SESSION["ok"] = 1;
?>
if (before.phpで行うチェック1) {
print "エラー";
$_SESSION = array();
session_destroy();
exit();
}
if (before.phpで行うチェック2) {
print "エラー";
$_SESSION = array();
session_destroy();
exit();
}
.....
htmlの出力(フォームの出力とaction属性でafter.phpの設定)
after.php
<?php
session_start();
session_regenerate_id(true);
@1@
if ($_SESSION["ok"] != 1) {
$_SESSION = array();
session_destroy();
exit();
}
***before.phpから来た場合のみ実行する処理***
# 求める機能
before.phpからのみ、after.phpに移動させたい。
# 問題点
$_SESSION["ok"]に1が代入されていない。
# 試したこと
after.phpで@1@の部分にprint $_SESSION["ok"];を入れると、0が表示される。
isset関数ででfalse判定を行えば機能としては達成できるが、上記のコードの不備を知りたいです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。