ユーザー名とパスワードを取る Web サイトがあります。正しく入力すると、ユーザー名セッション変数が作成されます。ただし、別のページに移動して、変数が設定されているかどうかを確認すると、false になります。
変数を設定するコードは次のとおりです。
$username = $_POST["ユーザー名"]; $password = $_POST["パスワード"];
if ($username == "right username" || $password == "rigthpassword"){
session_start();
$_SESSION["username"] = "aadsj2als378909382lkklja";
$_SESSION["password"] = "ajklsd89798798jlk09779023";
}
次に、ユーザーがログインしているかどうかを確認するphpスクリプトがあります。ユーザーがログインしている場合は、あるページに移動し、そうでない場合は別のページに移動します。ただし、ユーザーがログインしていなくても、ユーザーがログインしている場合に移動する必要があるページに移動します。
<?php session_start();
if(!isset($_SESSION["username"])){
header('Location:http://website.com/page1.php');
} else {
header('Location:http://website.com/page2.php');
}
?>
したがって、ログインした後、このスクリプトを実行するリンクをクリックします。ページ 2 に移動する代わりに、ページ 1 に移動します。これはすべきではありません。
何か案は?