我对这种行为感到好奇,假设下面的代码:
<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";
}
?>
它起作用的原因是什么?是因为当你点击提交按钮时页面再次重新加载,然后php脚本再次运行?有人对此有任何解释吗?
答案 0 :(得分:0)
如果您的意思是,如何在提交表单时进行测试请尝试:
<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($_POST['submit_form'] == "Submit")
,你就会得到真实......即1 ......
当您使用POST方法提交任何PHP表单时,会在幕后发生以下情况:
{'name1'=>'value1','name2'=>'value2','name3'=>'value3','name4'=>'value4'...'name_n_'=>'value_n_'}
您可以通过在其中输入一些文本来更改文本字段的值。但是,用户无法真正更改提交按钮的值,即提交按钮上显示的文本,因此,只要您说echo $_POST['submit_form']
,您将始终获得在HTML中设置的值,即提交
希望有所帮助...