0

私はプログラミング(特にPHP)がまったく新しいです。とにかく、PHP と HTML の両方を使用するログイン ページを作成することを少し試みています。

主なアイデアは、ユーザーがログイン ページに来たのが初めての場合、最初に「送信」ボタンをクリックする必要があるということです。その後、ページがリロードされますが、ユーザーが情報を入力して別の PHP スクリプトを呼び出す場所が表示されます。

これを達成するために、次のコードを試みました。

          <form method = "post"
                action = "Sign-In2.html">


          <p>
          <br />
            <input type = "submit"
                   name = "returnUser"
                   value = "Click To Log In">
          </P>
          </form>

          <?php

          if (isset($_POST['returnUser'])) {

          ?>    

          <form method = "post"
                action = "Login2.php">

            <p>
            <br />
            In Honor Of:
            <input type = "text"
                   name = "userName"
                   value = "">

            <br />
            EDGE Code:
            <input type = "password"
                   name = "edgeCode"
                   value = "">

            <br /><br />
            <input type = "checkbox"
                   name = "rememberUser"
                   value = "remembered">Remember Me

            <br />
            <input type = "submit"
                   value = "Log Me In">

            </p>
            </form>

          <?php

          } else {

          } //end if

          ?>

オンラインで (このサイトや他のサイトから) 読んだすべてのことから、私のコードには 2 つのフォームと PHP の "if" ステートメントが含まれているという印象を受けました。

最初のフォームは、「returnUser」という名前の「送信」ボタンを提供するだけで、ページ (Sign-In2.html という名前) をリロードします。

次に、PHP が飛び込んで条件チェックを実行します。FIRST フォームの「送信」ボタンが実際にクリックされた場合、SECOND フォームが実行されます。クリックされていない場合は、何も起こりません。

SO MY ISSUEは、このコードをlocalhost WAMPserverから実行すると、両方のフォームが表示されることです! ページを読み込んだときに最初のフォームだけでなく両方が表示される理由を理解または見つけることができません! 最初の送信ボタンを表示して、それをクリックして2番目のフォームの入力フィールドでページを更新できるようにしたいだけです:(どんな助けでも大歓迎です!

注: 2 番目のフォームとその phpscript はどちらも問題なく実行されます。

4

3 に答える 3

1

どちらかのフォームを表示したいので、ifステートメントを使用して、表示するフォームを選択します。現在コードが実行しているのは、最初のフォームを表示することです。次に、$_POST値が送信されている場合は、2番目のフォームを表示します。

コードを以下に変更すると、が設定されているかどうかに応じて、いずれかのフォームが表示されます$_POST

<?php

if (isset($_POST['returnUser']))
{
?>    

    <form method = "post"
    action = "">

    <p>
    <br />
    In Honor Of:
    <input type = "text"
       name = "userName"
       value = "">

    <br />
    EDGE Code:
    <input type = "password"
       name = "edgeCode"
       value = "">

    <br /><br />
    <input type = "checkbox"
       name = "rememberUser"
       value = "remembered">Remember Me

    <br />
    <input type = "submit"
       value = "Log Me In">

    </p>
    </form>

<?php
} 
else 
{
?>

    <form method = "post"
    action = "">


    <p>
    <br />
    <input type = "submit"
       name = "returnUser"
       value = "Click To Log In">
    </P>
    </form>

    <?php
} //end if

?>
于 2012-08-22T08:57:42.550 に答える
0

ファイル名Sign-In2.htmlSign-In2.phpフォームアクションで同じに変更します。

于 2012-08-23T07:48:34.450 に答える
0

ひょっとして、これは通常の .html ページですか?

デフォルトでは、PHP はそれらで実行されないため、<?php ?>タグは通常の HTML タグとして解釈されます。

この問題を解決するには、ファイルの拡張子を PHP に変更します。

于 2012-08-23T07:49:42.153 に答える