NO.1—PHP表单验证
代码详细注释版
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
<style>
.error {color: #FF0000;}
</style>
</head>
<body>
<?php
$nameErr=$emailErr=$genderErr=$websiteErr="";
$name=$email=$comment=$website="";
if($_SERVER["REQUEST_METHOD"]=="POST")//请求提交数据的方式。//表单是否被提交
{
if(empty($_POST["name"]))
{
$nameErr="请输入名字";
}
else
{
$name =test_input($_POST["name"]);
if(!preg_match("/`[a-zA-Z]*$/",$name))
{
$nameErr="只允许字母和空格";
}
}
if (empty($_POST["email"]))
{
$emailErr = "邮箱是必需的";
}
else
{
$email = test_input($_POST["email"]);
// 检测邮箱是否合法
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email))
{
$emailErr = "非法邮箱格式";
}
}
if(empty($_POST["website"]))
{
$website="";
}
else
{
$website=test_input($_POST["website"]);
if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website))
{
$websiteErr = "非法的 URL 的地址";
}
}
if (empty($_POST["comment"]))
{
$comment = "";
}
else
{
$comment = test_input($_POST["comment"]);
}
if (empty($_POST["gender"]))
{
$genderErr = "性别是必需的";
}
else
{
$gender = test_input($_POST["gender"]);
}
}
function test_input($data)
{
$data=trim($data);//去除不必要的字符如空格换行
$data=stripslashes($data);//去除反斜杠
$data=htmlspecialchars($data);//将数据进行处理防止被黑客利用
}
?>
<h2>php表单验证实例</h2>
<p><span class="error">*必需字段</span></p>
<form method="post" action="<?php echo ?>">