2

私はPHPの初心者を独学しています。送信ボタンがクリックされた場合にのみ、小さな PHP スクリプトを実行したいと思います。残念ながら、isset()(私のチュートリアル レッスンによると) この送信ボタン チェックを実行する機能は動作していないようです。

ブラウザーでページを更新するとprint("You're not a member of this site");、送信ボタンをまだ押していないにもかかわらず、PHP スクリプトの一部が実行されます。なんで?

そしてコード:

<html>
<head>
    <title>A BASIC HTML FORM</title>

    <?PHP
        if (isset($_POST['Submit1'])) {
            $username = $_POST['username'];

            if ($username == "letmein") {

                print ("Welcome back, friend!");

            }
            else {

                print ("You're not a member of this site");

            }
        }
    ?>
</head>
    <body>
        <Form name ="form1" Method ="POST" Action ="basicForm.php">
            <INPUT TYPE = "TEXT" VALUE ="username" NAME="username">
<p>

            <Input Type = "Submit" Name = "Submit1" Value = "Login">
        </FORM>
    </body>
</html>
4

3 に答える 3

3

ブラウザの更新またはF5キーを使用している場合、送信直後にリダイレクトする必要があり、更新時に isset を超えることはありません。

mysql_queryフォーム送信時に INSERT レコード用に記述した関数の後と同様に、次のように記述する必要があります。

header('場所:yourpage.php')

そして、それはこの動作を防ぎます。

于 2012-12-27T12:48:21.500 に答える
0

isset() の代わりに

使用する

!空($_POST)

于 2012-12-27T12:47:21.797 に答える