PHP表单post笔记
闲来再看书的时候跳过了判断语句和数组,回头在补课吧。
传递表单数据可以用get和post,不过大部分倾向使用post。原因:post可以传递更多数据甚至数组,post比get安全(因为get明文容易被记录)等等....
1.简单的php表单例子
文件名:beta.php
<?php
//判断是name是否被传递赋值了,如果真,继续执行
if?(isset($_POST['name']))
{
//使用htmlentities函数,转换name为html字符编码,提升安全。并赋值
$name=htmlentities($_POST['name']);
echo?"我叫:",$name;
}
?>
<form?action="beta.php"?method="post">
姓名:
<input?name="name"?type="text"?id="name">
<input?type="submit"?name="Submit"?value="提交">
</form>
2.多选项的php表单post传递:
<?php
//直接判断是否已经执行提交,如果真,继续执行
if?(isset($_POST['Submit']))
{
echo?"你选择了:";
//使用foreach函数,遍历select数组,并输出(循环的)
foreach($_POST['select']?AS?$select)?{
//使用htmlentities函数,转换select为html字符编码,提升安全。并赋值
$select=htmlentities($select);
echo?$select;
}
}
?>
<form?action="beta.php"?method="post">
多选题:
<!--?注意这里的name是select[]?-->
<select?name="select[]"?size="3"?multiple="multiple">
<option?value="1">1</option>
<option?value="2">2</option>
<option?value="3">3</option>
</select>
<input?type="submit"?name="Submit"?value="提交">
</form>
3.特别注意2点
格式化字符串的函数htmlentities,处理中文的时候会出现乱码,可以通过设置一些设置避免,或更换使用htmlspecialchars,仍建议用前者,具体自查
小技巧,使用超级变量$_SERVER['PHP_SELF'],来作为表单action的值,可以在本页执行的post里即使被改名也正常使用。
4.高级货HTML_QuickForm,不深入学了...