根据文档写一份php表格验证代码
时间: 2024-12-15 19:16:24 浏览: 7
根据文档提供的表单验证要求,以下是一份PHP代码示例,用于验证表单数据:
```php
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// 定义变量并初始化为空字符串
$uname = $age = $psd1 = $psd2 = $jieshao = "";
$unameErr = $ageErr = $psd1Err = $psd2Err = $jieshaoErr = "";
if (empty($_POST["uname"])) {
$unameErr = "姓名必填";
} else {
$uname = test_input($_POST["uname"]);
if (!preg_match("/^[a-zA-Z0-9]{6,20}$/", $uname)) {
$unameErr = "姓名只能包含字母和数字,且必须在6到20个字符之间";
}
}
if (empty($_POST["age"])) {
$ageErr = "年龄必填";
} else {
$age = test_input($_POST["age"]);
if (!is_numeric($age) || $age < 0 || $age > 100) {
$ageErr = "年龄必须在0到100之间";
}
}
if (empty($_POST["psd1"])) {
$psd1Err = "密码必填";
} else {
$psd1 = test_input($_POST["psd1"]);
if (!preg_match("/^[a-zA-Z0-9!@#$%^&*]{6,10}$/", $psd1)) {
$psd1Err = "密码只能包含字母数字及特殊字符,且长度在6到10个字符之间";
}
}
if (empty($_POST["psd2"])) {
$psd2Err = "确认密码必填";
} else {
$psd2 = test_input($_POST["psd2"]);
if ($psd2 != $psd1) {
$psd2Err = "两次输入的密码不一致";
}
}
if (empty($_POST["jieshao"])) {
$jieshaoErr = "个人介绍必填";
} else {
$jieshao = test_input($_POST["jieshao"]);
}
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
<!DOCTYPE html>
<html>
<head>
<title>表单验证</title>
</head>
<body>
<h2>表单验证</h2>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
姓名: <input type="text" name="uname" value="<?php echo $uname; ?>">
<span class="error">* <?php echo $unameErr;?></span>
<br><br>
年龄: <input type="text" name="age" value="<?php echo $age; ?>">
<span class="error">* <?php echo $ageErr;?></span>
<br><br>
密码: <input type="password" name="psd1" value="<?php echo $psd1; ?>">
<span class="error">* <?php echo $psd1Err;?></span>
<br><br>
确认密码: <input type="password" name="psd2" value="<?php echo $psd2; ?>">
<span class="error">* <?php echo $psd2Err;?></span>
<br><br>
个人介绍: <textarea name="jieshao"><?php echo $jieshao; ?></textarea>
<span class="error">* <?php echo $jieshaoErr;?></span>
<br><br>
<input type="submit" name="submit" value="提交">
</form>
</body>
</html>
```
### 说明
1. **表单提交方法**:使用`POST`方法提交表单数据。
2. **变量初始化**:所有表单字段对应的变量初始为空字符串。
3. **错误消息**:每个字段的错误消息也初始为空字符串。
4. **表单验证逻辑**:
- **姓名**:检查是否为空,是否符合字母和数字且长度在6到20个字符之间的正则表达式。
- **年龄**:检查是否为空,是否为数值且在0到100之间。
- **密码**:检查是否为空,是否符合特定字符集且长度在6到10个字符之间的正则表达式。
- **确认密码**:检查是否为空,是否与第一次输入的密码一致。
- **个人介绍**:检查是否为空。
5. **辅助函数**:`test_input`函数用于去除多余空格、反斜杠和HTML标签。
将上述代码保存为一个PHP文件(例如`validate_form.php`),并在服务器上运行,即可实现表单数据的验证功能。
阅读全文