我对编程(尤其是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都运行得没有问题。
您想要显示一个或另一个表单,因此使用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
?>
将文件名Sign-In2.html
更改为Sign-In2.php
,并执行相同的表单操作。
这是一个普通的.html页面吗?
默认情况下,PHP不在这些标签上运行,所以<?php ?>
标签被解释为普通的HTML标签。
将文件的扩展名更改为PHP以解决此问题。