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

          ?>

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

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

然后 PHP 介入并运行条件检查。如果第一个表单中的“提交”按钮实际上已经被点击,那么第二个表单将被运行。如果它没有被点击,那么什么都不会发生。

所以我的问题是,当我从 localhost WAMPserver 运行此代码时,两种形式都会出现!我无法理解或找出为什么当我加载页面时不仅第一个表单而且两者都出现了!我只想显示第一个提交按钮,以便我可以单击它并使用第二个表单中的输入字段刷新页面:( 任何帮助将不胜感激!

注意:第二种形式和它的 phpscript 都运行没有问题。

4

3 回答 3

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

?>
于 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 回答