私は$sessionMinus
(数字です)が($_SESSION['initial_count'])
と同じではない場合、フォームは自分自身に送信されますが、$sessionMinus
は($_SESSION['initial_count'])
と同じ番号になりますフォームをcreate_session2.phpに提出します。このフォームが私をエラーページに誘導しているのはなぜですか?
しかし、送信ボタンをクリックすると、何が起こっても、数字が一致するかどうかに関係なく、エラーページが表示され続けます。なぜこうなった? (これは、==と===の両方の記号を使用すると発生します)。以下は
コードです:
<?php
session_start();
if ($sessionMinus == $_SESSION['initial_count']){
$action = ($sessionMinus == $_SESSION['initial_count']) ? "create_session2.php" : $_SERVER['PHP_SELF'];
}
?>
<body>
<form id="QandA" action="<?php echo htmlentities($action); ?>" method="post" onsubmit="return validateForm(this);" >
...
</body>
ソリューションは以下である:
<?php
session_start();
if ($sessionMinus == $_SESSION['initial_count']){
$action = 'create_session2.php';
}else if($sessionMinus != $_SESSION['initial_count']){
$action = $_SERVER['PHP_SELF'];
}
?>
<body>
<form id="QandA" action="<?php echo htmlentities($action); ?>" method="post" onsubmit="return validateForm(this);" >
...
</body>
どのページからこのページの先頭ですか?これらの変数が等しくない場合、その動作は期待されるかどうか。 – Noah
フォームタグを確認してください –
エラーページとは何か?それはエラー500、または何ですか? – Pete