当前位置:首页 > PHP教程 > php应用 > 列表

php编程每天必学之表单验证

发布:smiling 来源: PHP粉丝网  添加日期:2019-11-29 11:08:20 浏览: 评论:0 

本文实例讲解了php表单验证的实现方法,分享给大家供大家参考,具体内容如下

1.PHP表单处理

welcome.html

  1. <form action="welcome.php" method="post"> 
  2.  
  3.   Name: <input type="text" name="name"><br> 
  4.  
  5.   E-mail: <input type="text" name="email"><br> 
  6.  
  7.   <input type="submit"> 
  8.  
  9. </form> 

welcome.php

  1. <!--PHP 超全局变量 $_GET 和 $_POST 用于收集表单数据(form-data)--> 
  2.  
  3. Welcome <?php echo $_POST["name"]; ?><br> 
  4.  
  5. Your email address is: <?php echo $_POST["email"]; ?> 

2.PHP表单验证完整实例

  1. <?php 
  2.  
  3. // 定义变量并设置为空值 
  4.  
  5. $nameErr = $emailErr = $websiteErr = ""
  6.  
  7. $name = $email = $website = ""
  8.  
  9. if ($_SERVER["REQUEST_METHOD"] == "POST") { 
  10.  
  11.   if (emptyempty($_POST["name"])) { 
  12.  
  13.    $nameErr = "姓名是必填的"
  14.  
  15.   } else { 
  16.  
  17.    $name = test_input($_POST["name"]); 
  18.  
  19.    // 检查姓名是否包含字母和空白字符 
  20.  
  21.    //preg_match() 函数检索字符串的模式,如果模式存在则返回 true,否则返回 false。 
  22.  
  23.    if (!preg_match("/^[a-zA-Z ]*$/",$name)) { 
  24.  
  25.     $nameErr = "只允许字母和空格";  
  26.  
  27.    } 
  28.  
  29.   } 
  30.  
  31.     
  32.  
  33.   if (emptyempty($_POST["email"])) { 
  34.  
  35.    $emailErr = "电邮是必填的"
  36.  
  37.   } else { 
  38.  
  39.    $email = test_input($_POST["email"]); 
  40.  
  41.    // 检查电子邮件地址语法是否有效 
  42.  
  43.    if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) { 
  44.  
  45.     $emailErr = "无效的 email 格式";  
  46.  
  47.    } 
  48.  
  49.   } 
  50.  
  51.      
  52.  
  53.   if (emptyempty($_POST["website"])) { 
  54.  
  55.    $website = ""
  56.  
  57.   } else { 
  58.  
  59.    $website = test_input($_POST["website"]); 
  60.  
  61.    // 检查 URL 地址语法是否有效(正则表达式也允许 URL 中的斜杠) 
  62.  
  63.    if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) { 
  64.  
  65.     $websiteErr = "无效的 URL";  
  66.  
  67.    } 
  68.  
  69.   } 
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76. function test_input($data) { 
  77.  
  78.   //去除用户输入数据中不必要的字符(多余的空格、制表符、换行) 
  79.  
  80.   $data = trim($data); 
  81.  
  82.   //删除用户输入数据中的反斜杠(\) 
  83.  
  84.   $data = stripslashes($data); 
  85.  
  86.   //把特殊字符转换为 HTML 实体 
  87.  
  88.   $data = htmlspecialchars($data); 
  89.  
  90.   return $data
  91.  
  92.  
  93. ?> 
  94.  
  95.  
  96.  
  97. <h2>PHP 验证实例</h2> 
  98.  
  99. <p><span class="error">* 必需的字段</span></p> 
  100.  
  101. <!--htmlspecialchars() 函数把特殊字符转换为 HTML 实体。--> 
  102.  
  103. <form method="post" action="<?php echo htmlspecialchars($_SERVER[" php_self"]);?="">">  
  104.  
  105.   <!--value:保留表单中的值--> 
  106.  
  107.   姓名:<input type="text" name="name" value="<?php echo $name;?>"
  108.  
  109.   <span class="error">* <?php echo $nameErr;?></span> 
  110.  
  111.   <br><br> 
  112.  
  113.   邮箱:<input type="text" name="email" value="<?php echo $email;?>"
  114.  
  115.   <span class="error">* <?php echo $emailErr;?></span> 
  116.  
  117.   <br><br> 
  118.  
  119.   网址:<input type="text" name="website" value="<?php echo $website;?>"
  120.  
  121.   <span class="error"><?php echo $websiteErr;?></span> 
  122.  
  123.   <br><br> 
  124.  
  125.   <input type="submit" name="submit" value="提交">  
  126.  
  127. </form> 
  128.  
  129.  
  130.  
  131. <?php 
  132.  
  133. echo "<h2>您的输入:</h2>"
  134.  
  135. echo $name
  136.  
  137. echo "<br>"
  138.  
  139. echo $email
  140.  
  141. echo "<br>"
  142.  
  143. echo $website
  144.  
  145. echo "<br>"
  146.  
  147. ?> 

希望本文所述对大家学习php程序设计有所帮助。

Tags: php编程 php表单验证

分享到: