これがよく議論されていることは知っていますが、私の問題の解決策を見つけることができないようです:
次のようなフォームで新しいphpファイルに渡されるパスワードがあります。
<form method="POST" action="test.php">
Password: <input type="password" name="password" size="15" />
</form>
test.php ファイルでセッションを作成し、次のように POST でパスワードを取得します。
session_name('first');
session_start('first');
if (isset($_SESSION['pass_s']))
{
$_SESSION['pass_s'] = $_SESSION['pass_s'];
} else
{
$_SESSION['pass_s'] = $_POST['password'];
}
$pass = $_SESSION['pass_s'];
ただし、このページも次のように更新します。
$page = "test.php";
$sec = 60;
header("Refresh: $sec; url=$page");
問題は、セッションが何があっても設定されたままになるため、新しいログイン時に古いセッションが開始されることです。セッションの名前付けとページの更新の間で行き詰まっています。リフレッシュのためにセッションを破棄することはできませんが、セッションを維持することもできません。私はクッキーに保持されていると思います。
基本的に、ページの終了時にセッションを破棄する必要がありますが、ページで更新が実行されている間は必要ありませんか?