表单处理
收集表单数据
$_GET
$_POST
举个例子(以POST方式为例,GET和POST类似,直叙改方式为get,$_POST为$_GET)
Name:
E-mail:
Welcome:<?php echo $_POST["name"];?>
Your email address is:<?php echo $_POST["email"];?>
GET和POST的使用情况
GET可用于发送非敏感的数据(因为数据在URL上),且限制在2000个字符
POST可用于发送敏感数据(比如密码),且不限制字符数量
表单验证
目的
对表单数据进行验证是为了防范何可和垃圾邮件
http://www.example.com/test_form.php/%22%3E%3Cscript%3Ealert('hacked')%3C/script%3E
步骤
trim() 去除用书输入数据中不必要的字符(多余的空格、制表符、换行)
stripaslashes() 删除用户输入数据中的反斜杠\
htmlspecalchars() 将特殊字符转换为HTML实体
举个例子
表单验证$name=$email=$gender=$comment=$website="";
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
$name = test_input($_POST["name"]);
$email = test_input($_POST["email"]);
$website = test_input($_POST["website"]);
$comment = test_input($_POST["comment"]);
$gender = test_input($_POST["gender"]);
}
function test_input($data)
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
PHP表单验证实例
">名字:
E-mail:
网址:
备注:
性别:女
男
echo "
您输入的内容是:
";echo $name;
echo "
";
echo $email;
echo "
";
echo $website;
echo "
";
echo $comment;
echo "
";
echo $gender;
?>
表单必填
目的
防止必填类容未填
方法
用empty()对变量做判断,若是空则做出提示
表单URL/E-mail
验证名字
if(!preg_match("/^[a-zA-Z]*$/",$name));
验证E-mail
if(!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email));
表单完成