本文运用到所有方法均在此:
$_SERVER[“REQUEST_METHOD”] : 获取访问页面使用的请求方法;例如,“GET”, “HEAD”,“POST”,“PUT”
empty : 本函数用来测试变量是否已经配置。若变量已存在、非空字符串或者非零,则返回 false 值;反之返回 true。
$_POST : $_POST 变量用于收集来自 method=”post” 的表单中的值,在类似请求GET中,以$_GET获取method=”get” 的表单中的值
test_input : 本文中的test_input()函数是为了过滤表单获取的值
trim : trim() 函数移除字符串两侧的空白字符或其他预定义字符。
stripslashes : stripslashes() 函数删除由 addslashes() 函数添加的反斜杠。
htmlspecialchars : htmlspecialchars() 函数把预定义的字符转换为 HTML 实体。
预定义的字符是:
& (和号)成为 &
” (双引号)成为 ”
’ (单引号)成为 ’
< (小于)成为 <
(大于)成为 >
HTML代码部分:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<style>
.error {
color: #FF0000;
}
</style>
</head>
<body>
<h2>PHP 验证实例</h2>
<p><span class="error">* 必需的字段</span></p>
<form method="post" action="lianxi_1.php">
姓名:<input type="text" name="name">
<span class="error">* <?php echo $nameErr;?></span>
<br><br> 电邮:
<input type="text" name="email">
<span class="error">* <?php echo $emailErr;?></span>
<br><br> 网址:
<input type="text" name="website">
<span class="error"><?php echo $websiteErr;?></span>
<br><br> 评论:
<textarea name="comment" rows="5" cols="40"></textarea>
<br><br> 性别:
<input type="radio" name="gender" value="female">女性
<input type="radio" name="gender" value="male">男性
<span class="error">* <?php echo $genderErr;?></span>
<br><br>
<input type="submit" name="submit" value="提交">
</form>
</body>
</html>
PHP代码部分:
<?php
// 定义变量并设置为空值
$nameErr = $emailErr = $genderErr = $websiteErr = "";
$name = $email = $gender = $comment = $website = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["name"])) {
$nameErr = "姓名是必填的";
} else {
$name = test_input($_POST["name"]);
}
if (empty($_POST["email"])) {
$emailErr = "电邮是必填的";
} else {
$email = test_input($_POST["email"]);
}
if (empty($_POST["website"])) {
$website = "";
} else {
$website = test_input($_POST["website"]);
}
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);
return $data;
}
echo "<h2>您的输入:</h2>";
echo $name;
echo "<br>";
echo $email;
echo "<br>";
echo $website;
echo "<br>";
echo $comment;
echo "<br>";
echo $gender;
?>