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.  
  13. if (empty($_POST["email"])) {
  14. $emailErr = "邮箱是必需的。";
  15. } else {
  16. $email = test_input($_POST["email"]);
  17. }
  18.  
  19. if (empty($_POST["website"])) {
  20. $website = "";
  21. } else {
  22. $website = test_input($_POST["website"]);
  23. }
  24.  
  25. if (empty($_POST["comment"])) {
  26. $comment = "";
  27. } else {
  28. $comment = test_input($_POST["comment"]);
  29. }
  30.  
  31. if (empty($_POST["gender"])) {
  32. $genderErr = "性别是必需的。";
  33. } else {
  34. $gender = test_input($_POST["gender"]);
  35. }
  36. }
  37. ?>
  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>菜鸟教程(runoob.com)</title>
  6. <style>
  7. .error {color: #FF0000;}
  8. </style>
  9. </head>
  10. <body>
  11.  
  12. <?php
  13. // 定义变量并默认设为空值
  14. $nameErr = $emailErr = $genderErr = $websiteErr = "";
  15. $name = $email = $gender = $comment = $website = "";
  16.  
  17. if ($_SERVER["REQUEST_METHOD"] == "POST") {
  18. if (empty($_POST["name"])) {
  19. $nameErr = "名字是必须的。";
  20. } else {
  21. $name = test_input($_POST["name"]);
  22. }
  23.  
  24. if (empty($_POST["email"])) {
  25. $emailErr = "邮箱是必须的。";
  26. } else {
  27. $email = test_input($_POST["email"]);
  28. }
  29.  
  30. if (empty($_POST["website"])) {
  31. $website = "";
  32. } else {
  33. $website = test_input($_POST["website"]);
  34. }
  35.  
  36. if (empty($_POST["comment"])) {
  37. $comment = "";
  38. } else {
  39. $comment = test_input($_POST["comment"]);
  40. }
  41.  
  42. if (empty($_POST["gender"])) {
  43. $genderErr = "性别是必须的。";
  44. } else {
  45. $gender = test_input($_POST["gender"]);
  46. }
  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.  
  57. <h2>PHP 表单验证实例</h2>
  58. <p><span class="error">* 必填字段。</span></p>
  59. <form method="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>">
  60. 名字: <input type="text" name="name">
  61. <span class="error">* <?php echo $nameErr;?></span>
  62. <br><br>
  63. E-mail: <input type="text" name="email">
  64. <span class="error">* <?php echo $emailErr;?></span>
  65. <br><br>
  66. 网址: <input type="text" name="website">
  67. <span class="error"><?php echo $websiteErr;?></span>
  68. <br><br>
  69. 备注: <textarea name="comment" rows="5" cols="40"></textarea>
  70. <br><br>
  71. 性别:
  72. <input type="radio" name="gender" value="female">
  73. <input type="radio" name="gender" value="male">
  74. <span class="error">* <?php echo $genderErr;?></span>
  75. <br><br>
  76. <input type="submit" name="submit" value="Submit">
  77. </form>
  78.  
  79. <?php
  80. echo "<h2>您的输入:</h2>";
  81. echo $name;
  82. echo "<br>";
  83. echo $email;
  84. echo "<br>";
  85. echo $website;
  86. echo "<br>";
  87. echo $comment;
  88. echo "<br>";
  89. echo $gender;
  90. ?>
  91.  
  92. </body>
  93. </html>

吴裕雄--天生自然 PHP开发学习:表单 - 必需字段的更多相关文章

  1. 吴裕雄--天生自然 PHP开发学习:表单 - 验证邮件和URL

    $name = test_input($_POST["name"]); if (!preg_match("/^[a-zA-Z ]*$/",$name)) { $ ...

  2. 吴裕雄--天生自然 PHP开发学习:表单验证

    <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title> ...

  3. 吴裕雄--天生自然 JAVASCRIPT开发学习:对象 实例(2)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  4. 吴裕雄--天生自然 JAVASCRIPT开发学习: 正则表达式

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  5. 吴裕雄--天生自然 PYTHON3开发学习:MySQL - mysql-connector 驱动

    import mysql.connector mydb = mysql.connector.connect( host="localhost", # 数据库主机地址 user=&q ...

  6. 吴裕雄--天生自然 PHP开发学习:连接 MySQL、创建表

    <?php $servername = "localhost"; $username = "root"; $password = "admin& ...

  7. 吴裕雄--天生自然 JAVASCRIPT开发学习: 表单验证

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  8. 吴裕雄--天生自然 JAVASCRIPT开发学习: 表单

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script> ...

  9. 吴裕雄--天生自然 PHP开发学习:表单和用户输入

    <html> <head> <meta charset="utf-8"> <title>菜鸟教程(runoob.com)</t ...

随机推荐

  1. 在Ubuntu下搭建Android开发环境(AndroidStudio)

    在ubuntu下搭建Android开发环境 本教程的开发环境的搭建有三个大步骤:安装Java jdk,安装Android studio,安装sdk 笔者搭建环境的时候用的是Ubuntu18.04 1. ...

  2. 如何让手游内存占用更小?从内存消耗iOS实时统计开始

    为什么iOS内存使用过多会崩溃,性能会下降?腾讯游戏学院专家Devlin在本文给了解释,如何让手游内存占用更小?从内存消耗iOS实时统计开始. 一.问题 在之前的手游项目中,内存使用过多,都开始崩溃了 ...

  3. Flink 笔记(一)

    简介 Flink是一个低延迟.高吞吐.统一的大数据计算引擎, Flink的计算平台可以实现毫秒级的延迟情况下,每秒钟处理上亿次的消息或者事件. 同时Flink提供了一个Exactly-once的一致性 ...

  4. hdu 1160 上升序列 dp

    FatMouse's Speed Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  5. python_re正则表达

    re模块就本质而言,正则表达式(或RE)是一种小型的.高度专业化的编程语言,(在python中)它内嵌在Python中,并通过re模块实现,正则表达式模块被编译成一系列的字节码,然后由用C编写的匹配引 ...

  6. 基础语法-循环结构do...while

    基础语法-循环结构do...while 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.do...while语句格式 do{ 执行语句; }while(条件表达式); 温馨提示: ...

  7. P 1033 旧键盘打字

    转跳点:

  8. Eclipse反编译插件jad的安装

    Eclipse反编译插件jad的安装 JadClipse是Jad的Eclipse插件,是一款非常实用而且方便的Java反编译插件.时间久了,可能忘记在哪里进行配置了,因此记录下以备后续使用(若需要). ...

  9. 十七、CI框架之数据库操作insert用法

    一.代码如下: 二.我们访问一下页面 三.查看数据库,已经插入了一条数据 不忘初心,如果您认为这篇文章有价值,认同作者的付出,可以微信二维码打赏任意金额给作者(微信号:382477247)哦,谢谢.

  10. mysql第四篇--SQL逻辑查询语句执行顺序

    mysql第四篇--SQL逻辑查询语句执行顺序 一.SQL语句定义顺序 SELECT DISTINCT <select_list> FROM <left_table> < ...