Php 如何检查;按下“提交”按钮;工作
我对这种行为很好奇。假设代码如下:Php 如何检查;按下“提交”按钮;工作,php,Php,我对这种行为很好奇。假设代码如下: <form name="myfrom" action="" method="post"> Username: <input type="text" name="user" id="username" /> <input type="submit" name="submit_form" value="Submit" /> </form> <?php if($_POST['submit
<form name="myfrom" action="" method="post">
Username: <input type="text" name="user" id="username" />
<input type="submit" name="submit_form" value="Submit" />
</form>
<?php
if($_POST['submit_form'] == "Submit") {
echo "do something";
}
?>
用户名:
它起作用的原因是什么?这是因为当您单击submit按钮时,页面会再次重新加载,然后PHP脚本会再次运行吗?是否有解释?如果您的意思是,如何在提交表单时进行测试尝试以下方法:
<form name="myfrom" action="" method="post">
Username: <input type="text" name="user" id="username" />
<input type="submit" name="submit_form" value="Submit" />
</form>
<?php if(isset($_POST['user'])) {
echo "do something";
}
?>
用户名:
如果你测试if($\u POST['submit\u form']==“submit”)
你会得到正确答案。。i、 e 1
使用POST方法提交任何PHP表单时,都会在幕后发生以下情况:
- 服务器获取所有HTML输入元素的值,并获取它们的名称
- 然后,服务器按以下方式将名称和值放入POST数组:
{'name1'=>'value1'、'name2'=>'value2'、'name3'=>'value3'、'name4'=>'value4'…'name'=>'value'}
您可以通过在文本字段中输入一些文本来更改其值。但是,用户无法真正更改提交按钮的值,即提交按钮上显示的文本,因此每当您说echo$\u POST['submit\u form']
时,您将始终获得在HTML中设置的值,即提交
希望这有帮助……是的,当你不提交表单时,if条件为false。现在认真地说:打开chrome开发工具,看看你的脚本发送给自己的数据是什么。然后阅读一下什么是
$\u POST
(假设您已经知道什么是HTTP POST),到别处去阅读表单吧!当您单击“提交”时,浏览器将发送一个POST请求,您将在if
语句中检测到该请求。并激活错误报告,以便您在提交表单之前看到条件失败的严重程度。当您将表单的操作
字段留空时,表单将发送数据(包含在$\u POST
数组中)再次发送到自身。这就是为什么您会遇到“页面重新加载”。按钮将在数组元素$\u POST['Submit\u form']中发送其值'Submit'
。我指的是幕后到底发生了什么。在这种情况下,我感兴趣的是,在用户单击“提交”按钮后,php在这种情况下的行为是如何的。@bpinhosilva:php不关心任何按钮,它只关心HTTP请求(本例中为POST)请看,基本上每当您提交表单并使用post方法时,所有输入字段的所有值都会添加到post字典中。因此,post字典如下所示:{'user'=>'What_ever_\u you_输入_在_text_字段','submit_form'=>'submit'} @bpinhosilva@bpinhosilva检查我的更新答案。@AnshumanDwibhashi,我看到了,非常感谢!我知道帖子是如何组织数据的,我只是想知道页面是否再次加载,以及这是否是php捕获定义提交的原因。。。