您所在的位置:PHP培训学院 > PHP教程 > 编程技巧 > >PHP 基础教程——PHP 表单验证 - 完成表单实例

PHP 基础教程——PHP 表单验证 - 完成表单实例

2018-02-26 18:32:07 来源:W3School 浏览次数:

PHP - 保留表单中的值

如需在用户点击提交按钮后在输入字段中显示值,我们在以下输入字段的 value 属性中增加了一小段 PHP 脚本:name、email 以及 website。在 comment 文本框字段中,我们把脚本放到了<textarea>与</textarea>之间。这些脚本输出 $name、$email、$website 和 $comment 变量的值。

然后,我们还需要显示选中了哪个单选按钮。对此,我们必须操作 checked 属性(而非单选按钮的 value 属性):

  1. Name: <input type="text" name="name" value="<?php echo $name;?>"
  2.  
  3. E-mail: <input type="text" name="email" value="<?php echo $email;?>"
  4.  
  5. Website: <input type="text" name="website" value="<?php echo $website;?>"
  6.  
  7. Comment: <textarea name="comment" rows="5" cols="40"><?php echo $comment;?></textarea> 
  8.  
  9. Gender: 
  10.  
  11. <input type="radio" name="gender" 
  12. <?php if (isset($gender) && $gender=="female") echo "checked";?> 
  13. value="female">Female 
  14. <input type="radio" name="gender" 
  15. <?php if (isset($gender) && $gender=="male") echo "checked";?> 
  16. value="male">Male 

PHP - 完整的表单实例

下面是 PHP 表单验证实例的完整代码:

实例 

  1. <?php 
  2. // 定义变量并设置为空值 
  3. $nameErr = $emailErr = $genderErr = $websiteErr = ""
  4. $name = $email = $gender = $comment = $website = ""
  5.  
  6. if ($_SERVER["REQUEST_METHOD"] == "POST") { 
  7.    if (empty($_POST["name"])) { 
  8.      $nameErr = "姓名是必填的"
  9.    } else { 
  10.      $name = test_input($_POST["name"]); 
  11.      // 检查姓名是否包含字母和空白字符 
  12.      if (!preg_match("/^[a-zA-Z ]*$/",$name)) { 
  13.        $nameErr = "只允许字母和空格";  
  14.      } 
  15.    } 
  16.     
  17.    if (empty($_POST["email"])) { 
  18.      $emailErr = "电邮是必填的"
  19.    } else { 
  20.      $email = test_input($_POST["email"]); 
  21.      // 检查电子邮件地址语法是否有效 
  22.      if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) { 
  23.        $emailErr = "无效的 email 格式";  
  24.      } 
  25.    } 
  26.       
  27.    if (empty($_POST["website"])) { 
  28.      $website = ""
  29.    } else { 
  30.      $website = test_input($_POST["website"]); 
  31.      // 检查 URL 地址语法是否有效(正则表达式也允许 URL 中的斜杠) 
  32.      if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) { 
  33.        $websiteErr = "无效的 URL";  
  34.      } 
  35.    } 
  36.  
  37.    if (empty($_POST["comment"])) { 
  38.      $comment = ""
  39.    } else { 
  40.      $comment = test_input($_POST["comment"]); 
  41.    } 
  42.  
  43.    if (empty($_POST["gender"])) { 
  44.      $genderErr = "性别是必选的"
  45.    } else { 
  46.      $gender = test_input($_POST["gender"]); 
  47.    } 
  48.  
  49. function test_input($data) { 
  50.    $data = trim($data); 
  51.    $data = stripslashes($data); 
  52.    $data = htmlspecialchars($data); 
  53.    return $data; 
  54. ?> 
  55.  
  56. <h2>PHP 验证实例</h2> 
  57. <p><span class="error">* 必需的字段</span></p> 
  58. <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">  
  59.    姓名:<input type="text" name="name"
  60.    <span class="error">* <?php echo $nameErr;?></span> 
  61.    <br><br> 
  62.    电邮:<input type="text" name="email"
  63.    <span class="error">* <?php echo $emailErr;?></span> 
  64.    <br><br> 
  65.    网址:<input type="text" name="website"
  66.    <span class="error"><?php echo $websiteErr;?></span> 
  67.    <br><br> 
  68.    评论:<textarea name="comment" rows="5" cols="40"></textarea> 
  69.    <br><br> 
  70.    性别: 
  71.    <input type="radio" name="gender" value="female">女性 
  72.    <input type="radio" name="gender" value="male">男性 
  73.    <span class="error">* <?php echo $genderErr;?></span> 
  74.    <br><br> 
  75.    <input type="submit" name="submit" value="提交">  
  76. </form> 
  77.  
  78. <?php 
  79. echo "<h2>您的输入:</h2>"
  80. echo $name; 
  81. echo "<br>"
  82. echo $email; 
  83. echo "<br>"
  84. echo $website; 
  85. echo "<br>"
  86. echo $comment; 
  87. echo "<br>"
  88. echo $gender; 
  89. ?> 

[免责声明]本文来源于网络转载,仅供学习交流使用,不构成商业目的。版权归原作者所有,如涉及作品内容、版权和其它问题请在30日内与本网联系,我们将在第一时进行处理

优就业官方微信

扫描二维码,即可与小
U亲密互动

优就业官方微博

扫码关注,更有精彩活动
等你参与

优就业官方QQ号

一键加好友

咨询电话:(9:00-22:00)

400-650-7353

优就业PHP培训学院(php.ujiuye.com)-中公优就业旗下PHP研究中心,是PHP培训机构,致力于培养系统实战型PHP精英人才。关注PHP技巧与PHP开发视野。优就业PHP培训学院-更好的PHP培训机构。

 
 
咨询中心
优就业微信扫一扫
微信扫一扫

400-650-7353

加入官方微博