我在编程方面很陌生(特别是在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都没有问题。
答案 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以解决它。