当前位置:首页 > 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. function test_input($data) { 
  45.   //去除用户输入数据中不必要的字符(多余的空格、制表符、换行) 
  46.   $data = trim($data); 
  47.   //删除用户输入数据中的反斜杠(\) 
  48.   $data = stripslashes($data); 
  49.   //把特殊字符转换为 HTML 实体 
  50.   $data = htmlspecialchars($data); 
  51.   return $data
  52. ?> 
  53.  
  54. <h2>PHP 验证实例</h2> 
  55. <p><span class="error">* 必需的字段</span></p> 
  56. <!--htmlspecialchars() 函数把特殊字符转换为 HTML 实体。--> 
  57. <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">  
  58.   <!--value:保留表单中的值--> 
  59.   姓名:<input type="text" name="name" value="<?php echo $name;?>"
  60.   <span class="error">* <?php echo $nameErr;?></span> 
  61.   <br><br> 
  62.   邮箱:<input type="text" name="email" value="<?php echo $email;?>"
  63.   <span class="error">* <?php echo $emailErr;?></span> 
  64.   <br><br> 
  65.   网址:<input type="text" name="website" value="<?php echo $website;?>"
  66.   <span class="error"><?php echo $websiteErr;?></span> 
  67.   <br><br> 
  68.   <input type="submit" name="submit" value="提交">  
  69. </form> 
  70.  
  71. <?php 
  72. echo "<h2>您的输入:</h2>"
  73. echo $name
  74. echo "<br>"
  75. echo $email
  76. echo "<br>"
  77. echo $website
  78. echo "<br>"
  79. ?> 
  80.  
  81. </body> 
  82. </html> 

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

Tags: php表单验证

分享到:

相关文章