php本页面表单输入验证

整个php代码:



<!DOCTYPE HTML> 
<html>
<head>
<style>
.error {color: #FF0000;}
</style>
</head>
<body> 


<?php
// 定义变量并设置为空值
$nameErr = $emailErr = $genderErr = $telErr ="";
$name = $email = $gender = $phone ="";


if ($_SERVER["REQUEST_METHOD"] == "POST") {
   if (empty($_POST["name"])) {    //empty() 函数检查 $_POST 变量是否为空
     $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 = "无效的 email 格式"; 
     }
   }
     
   if (empty($_POST["phone"])) {
      $telErr = "电话是必填的";
   } else {
      $phone = test_input($_POST["phone"]);
     if (!preg_match("/^[1-9][0-9]{11}$/",$phone)) {
       $telErr = "无效的 电话格式"; 
     }
   }




   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;
}
?>


<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post">
姓名:<input type="text" name="name" />
<span class="error">*<?php echo $nameErr;?></span>

<br /><br />
邮箱:<input type="email" name="email" />
<span class="error">*<?php echo $emailErr;?></span>
<br /><br />
电话:<input type="text" name="phone" />
<span class="error">*<?php echo $telErr;?></span>
<br /><br />
性别:<input type="radio" name="gender" value="女性" />女性
     <input type="radio" name="gender"  value="male"/>男性
<span class="error">*<?php echo $genderErr;?></span>
<br /><br />

<input type="submit" value="提交"/>
</form>




<?php
echo "<h2>您的输入:</h2>";
echo  "姓名";
echo  $name;
echo "<br>";
echo  "邮箱";
echo  $email;
echo "<br>";
echo  "电话";
echo  $phone;
echo "<br>";
echo  "性别";
echo $gender;
?>


</body>
</html>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值