即使不满足PHP“if”语句,HTML表单也会出现

时间:2012-08-22 08:54:49

标签: php html if-statement form-submit

我在编程方面很陌生(特别是在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

          ?>

从我在线阅读的所有内容(来自本网站和其他网站),我的印象是我的代码包含两个表单和一个PHP“if”语句。

FIRST表单只提供一个名为“returnUser”的“提交”按钮并重新加载页面(名为Sign-In2.html)。

然后PHP跳入并运行条件检查。如果事实上已经点击了FIRST表单中的“提交”按钮,那么将运行SECOND表单。如果没有点击,则没有任何反应。

所以我的问题是,当我从localhost WAMPserver运行此代码时,两个表单都显示出来了!我无法理解或找出为什么不只是第一个表单,但两个都在我加载页面时出现!我只想要显示第一个提交按钮,这样我就可以点击它并使用第二种形式的输入字段刷新页面:( 任何帮助将非常感谢!

注意:第二种形式及其phpscript都没有问题。

3 个答案:

答案 0 :(得分:1)

您想要显示一种形式或另一种形式,因此请使用if语句选择要显示的形式。您的代码目前正在执行的是显示第一个表单 - 然后,如果您发送了$_POST值,则显示第二个表单。

将代码更改为以下内容将显示一种形式或另一种形式,具体取决于是否设置了$_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

?>

答案 1 :(得分:0)

将文件名Sign-In2.html更改为Sign-In2.php,并在表单操作中更改。

答案 2 :(得分:0)

这是否是一个正常的.html页面?

默认情况下,PHP不会运行,因此您的<?php ?>标记会被解释为普通的HTML标记。

将文件的扩展名更改为PHP以解决它。