|
之前发过一个求助帖子“不是很懂PHP获取表单参数的机制”,虽然说找不到大虾回答,但是自己也不能被动等答案,所以就自己做几个小实验之类的,看看PHP究竟是如何获取表单参数。结果是,解决了一些问题,希望在以后的实践中能体会到更多。
例:
<form id="form1" name="form1" method="post" action="">
<?php
if(empty($_POST["btnSubmit"])){echo "嘻嘻";
?>
<input type="submit" name="btnSubmit" id="btnSubmit" value="提交" />
<?php
}else{
$a=$_POST["btnSubmit"];
foreach($_POST as $v){
echo $v;}
echo "<BR>您单击了{$btnSubmit}按钮。";
$b=$_REQUEST["btnSubmit"];
echo "<br>";
print_r($_REQUEST);}
?>
</form>
··首先参考《PHP+MySQL+DREAMWEAVER动态网站开发——从基础到实践》:
1、表单参数存储包含在Web页的Http请求中的检索信息;
2、在PHP动态网站中接收表单参数时,将为表单控件自动分配全局变量。这些变量的名称与HTML表单控件的name名称值相同。
鄙见:在本例中,$_POST["btnSubmit"](即$a)是PHP为表单控件分配的全局变量,反映到HTML中就是name值为submit的“提交”按钮。PHP通过$btnSubmit 控制“提交”按钮。
··其次是关于if 语句:
if 语句不是循环语句,不能做语句循环,但是也有重复使用的功效,感觉有点像是电源开关,可以重复使用。
鄙见:在本例中,“提交”按钮犹如电源开关,是运行if 语句的“开关”。在测试页面中,客户点击“提交”按钮前,if 语句运行empty($_POST["btnSubmit"]),$_POST["btnSubmit"]没有值(可能是因为客户没有点击按钮将其值提交上PHP服务器上的缘故,所以才会执行echo语句的),执行echo "嘻嘻";。点击“提交”按钮后,if 语句再执行else{}里面的语句。
··再次是<input type="submit" name="btnSubmit" id="btnSubmit" value="提交" />写在if(empty($_POST["btnSubmit"])) 下、上面之间的区别:
正如上文所说,if就像开关一样,如果把<input type="submit" name="btnSubmit" id="btnSubmit" value="提交" />写在if(empty($_POST["btnSubmit"])) 下,那么在测试页面中,客户点击“提交”按钮后,按钮消失,因为PHP要执行else{}里面的语句。
|
|