0

PHPが私をクラップスするインスタンスはあまりありません。しかし、これは確かにそのうちの1つです。私はこれを丸一日チェックし、サードパーティからのコメかもしれないと考えました。しかし、このエラーがランダムであることを示す症状は、送信からポストバックする文字列変数を設定することさえできないことです。イベントをキャプチャするためにissetも機能しません。empty送信を押すと、txtbox変数がURLに取り込まれるだけです。ただし、検証は行われません。

そのため、現在、ログインページの送信ボタンが次のようになっています。

<form action='Login.php' method='post'>
    <table align="center">
        <tr><td>Username</td></tr><tr>
        <td><input type="text" name="txtUsername"/></td></tr>
        <tr><td>Password</td></tr><tr>
        <td><input type="text" name="txtPass"/></td></tr>
        <td colspan="2"><input type="submit" name="btnLogin" ID="btnBlueTemp" value="Sign in!" /></td></tr>
        <tr><td class="errorLogin"><?php echo $Error;?></td></tr>
    </table>
</form>

必要なPOSTを呼び出しましたが、これがイベントです。

$txtUsername = $_POST["txtUsername"];
$txtPass = $_POST["txtPass"];
$btnLogin = $_POST["btnLogin"];
if(isset($btnLogin)){
$Error = "ok";
}

ボタンハンドラーをキャッチできない問題の原因は何ですか?InternetExplorer9を使用しています。

4

2 に答える 2

1

フォームが送信されたことを確認するために送信ボタンを使用しないでください。非表示のフォーム フィールドを追加し、それが設定されているかどうかを確認するか、他のメカニズムを使用してください。この問題は、Firefox では発生しませんが、IE では発生します。

于 2013-02-02T19:41:45.087 に答える
0

それは間違っている。を使用する$btnLogin = $_POST["btnLogin"];と、実際に変数が設定されます。したがって、送信ボタンを押さずにアドレスバーからURLを押しても、スクリプトが実行されます。

代わりに使用 -

if(isset($_POST['btnLogin']){
      // do stuff
}else{
      // do other stuff
} 
于 2013-02-02T19:44:31.267 に答える