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

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-07-12 10:52:32 浏览: 评论:0 

php编程每天必学之表单验证,针对php表单处理进行学习研究,以一个完整例子实现了php表单验证,感兴趣的小伙伴们可以参考一下,本文实例讲解了php表单验证的实现方法,分享给大家供大家参考,具体内容如下:

1.PHP表单处理

welcome.html

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

welcome.php

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

2.PHP表单验证完整实例

  1. <html> 
  2. <head> 
  3. </head> 
  4. <body>  
  5.  
  6. <?php 
  7. // 定义变量并设置为空值 
  8. $nameErr = $emailErr = $websiteErr = ""; 
  9. $name = $email = $website = ""; 
  10.  
  11. if ($_SERVER["REQUEST_METHOD"] == "POST") { 
  12.   if (emptyempty($_POST["name"])) { 
  13.    $nameErr = "姓名是必填的"; 
  14.   } else { 
  15.    $name = test_input($_POST["name"]); 
  16.    // 检查姓名是否包含字母和空白字符 
  17.    //preg_match() 函数检索字符串的模式,如果模式存在则返回 true,否则返回 false。 
  18.    if (!preg_match("/^[a-zA-Z ]*$/",$name)) { 
  19.     $nameErr = "只允许字母和空格";  
  20.    } 
  21.   } 
  22.     
  23.   if (emptyempty($_POST["email"])) { 
  24.    $emailErr = "电邮是必填的"; 
  25.   } else { 
  26.    $email = test_input($_POST["email"]); 
  27.    // 检查电子邮件地址语法是否有效 
  28.    if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) { 
  29.     $emailErr = "无效的 email 格式";  
  30.    } 
  31.   } 
  32.      
  33.   if (emptyempty($_POST["website"])) { 
  34.    $website = ""; 
  35.   } else { 
  36.    $website = test_input($_POST["website"]); 
  37.    // 检查 URL 地址语法是否有效(正则表达式也允许 URL 中的斜杠) 
  38.    if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) { 
  39.     $websiteErr = "无效的 URL";  
  40.    } 
  41.   } 
  42.  
  43. } 
  44.  
  45. function test_input($data) { 
  46.   //去除用户输入数据中不必要的字符(多余的空格、制表符、换行) 
  47.   $data = trim($data); 
  48.   //删除用户输入数据中的反斜杠(\) 
  49.   $data = stripslashes($data); 
  50.   //把特殊字符转换为 HTML 实体 
  51.   $data = htmlspecialchars($data); 
  52.   return $data; 
  53. } 
  54. ?> 
  55.  
  56. <h2>PHP 验证实例</h2> 
  57. <p><span class="error">* 必需的字段</span></p> 
  58. <!--htmlspecialchars() 函数把特殊字符转换为 HTML 实体。--> 
  59. <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">  
  60.   <!--value:保留表单中的值--> 
  61.   姓名:<input type="text" name="name" value="<?php echo $name;?>"> 
  62.   <span class="error">* <?php echo $nameErr;?></span> 
  63.   <br><br> 
  64.   邮箱:<input type="text" name="email" value="<?php echo $email;?>"> 
  65.   <span class="error">* <?php echo $emailErr;?></span> 
  66.   <br><br> 
  67.   网址:<input type="text" name="website" value="<?php echo $website;?>"> 
  68.   <span class="error"><?php echo $websiteErr;?></span> 
  69.   <br><br> 
  70.   <input type="submit" name="submit" value="提交">  
  71. </form> 
  72.  
  73. <?php 
  74. echo "<h2>您的输入:</h2>"; 
  75. echo $name; 
  76. echo "<br>"; 
  77. echo $email; 
  78. echo "<br>"; 
  79. echo $website; 
  80. echo "<br>"; 
  81. ?> 
  82.  
  83. </body> 
  84. </html> 

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

Tags: php表单验证

分享到:

相关文章