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,不深入学了…


分享到: 更多



发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>