• PHP表单验证


      1 <!DOCTYPE html>
      2 <html>
      3 <head>
      4 <title>Test Code</title>
      5 </head>
      6 <body>
      7 <h1>
      8 My PHP Test
      9 <h1>
     10 <?php
     11     echo "<h1><span style="color:#ff0000;">2015/7/15 上午</span></h1>";
     12     echo "A Simple Form-data<br>";
     13     #<a href="/demo/test_get.php?subject=PHP&web=W3school.com.cn">测试 $GET</a>
     14 ?>
     15 <!--一个简单的HTML表单-->
     16 <form action="<?php echo $_SERVER['PHP_SELF']?>"  method="post">
     17   Name:
     18   <input type="text" name="name">
     19   <br>
     20   E-mail:
     21   <input type="text" name="email">
     22   <br>
     23   <input type="submit">
     24 </form>
     25 <?php
     26     $name=$_REQUEST['name'];
     27     echo $name;
     28     ?>
     29 <?php
     30     $nameErr = $emailErr = $genderErr = $websiteErr="";
     31     $name=$email=$gender=$comment=$website="";
     32     // 定义变量并设置为空值
     33 
     34     if ($_SERVER["REQUEST_METHOD"] == "POST") {
     35        if (empty($_POST["name"])) {
     36          $nameErr = "姓名是必填的";
     37        } else {
     38          $name = test_input($_POST["name"]);
     39          if(!preg_match("/^[a-zA-Z]*$/",$name)){
     40              $nameErr="只允许字母和空格";
     41             }
     42        }
     43        
     44        if (empty($_POST["email"])) {
     45          $emailErr = "电邮是必填的";
     46        } else {
     47          $email = test_input($_POST["email"]);
     48          //if (!preg_match("/([w-]+@[w-]+.[w-]+)/",$email)) 
     49          if(!preg_match("/([w-]+@[w-]+.[w-]+)/",$email)){
     50              $emailErr="无效的 Email 格式 !";
     51          }
     52        }
     53          
     54        if (empty($_POST["website"])) {
     55          $website = "";
     56        } else {
     57          $website = test_input($_POST["website"]);
     58          if (!preg_match("/(?:(?:https?|ftp)://|www.)[-a-z0-9+&@#/%?=~_|!:,.;]*[-a-z0-9+&@#/%=~_|]/i",$website)) {
     59                $websiteErr = "无效的 URL !"; 
     60            }
     61        }
     62     
     63        if (empty($_POST["comment"])) {
     64          $comment = "";
     65        } else {
     66          $comment = test_input($_POST["comment"]);
     67        }
     68     
     69        if (empty($_POST["gender"])) {
     70          $genderErr = "性别是必选的";
     71        } else {
     72          $gender = test_input($_POST["gender"]);
     73        }
     74     }
     75     
     76     function test_input($data) {
     77        $data = trim($data);
     78        $data = stripslashes($data);
     79        $data = htmlspecialchars($data);
     80        return $data;
     81     }
     82 ?>
     83 <h2>表单验证实例</h2>
     84 <span style="color:#FF0000;">*必填字段</span>
     85 <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP-SELF"]);?>">
     86   <p> 姓名 :
     87     <input type="text" name="name" value="<?php echo $name;?>">
     88     <span style="color:#FF0000"> * <?php echo $nameErr;?></span>
     89   <p> 电邮 :
     90     <input type="text" name="email" value="<?php echo $email;?>">
     91     <span style="color:#FF0000"> * <?php echo $emailErr;?></span>
     92   <p> 网址 :
     93     <input type="text" name="website" value="<?php echo $website;?>">
     94     <span style="color:#FF0000"> * <?php echo $websiteErr;?></span>
     95   <p> 评论 :
     96     <textarea name="comment" rows="5" cols="40"><?php echo $comment;?></textarea>
     97   <p> 性别 :
     98     <input type="radio" name = "gender" 
     99     <?php if(isset($gender)&&$gender=="female") echo "Checked";?>
    100     value="female">女性
    101     <input type="radio" name = "gender"
    102     <?php if(isset($gender)&&$gender=="male") echo "Checked";?>
    103      value="male">男性
    104      <span style="color:#FF0000"> *</span>
    105   <p>
    106     <input type="submit" name="submit" value="提交">
    107 </form>
    108 <?php
    109     echo "<h2>您的输入:</h2>";
    110     echo $name;
    111     echo "<br>";
    112     echo $email;
    113     echo "<br>";
    114     echo $website;
    115     echo "<br>";
    116     echo $comment;
    117     echo "<br>";
    118     echo $gender;
    119     ?>
    120 <!--    
    121     (通过PHPtrim()函数)去除用户输入数据中不必要的字符(多余的空格、制表符、换行)
    122     (通过 PHP stripslashes() 函数)删除用户输入数据中的反斜杠()
    123     -->
    124 
    125 </body>
    126 </html>
  • 相关阅读:
    swig编译GDAL的C#库时遇到的代码安全问题及解决方法
    AE + GDAL实现影像按标准图幅分割(下)
    AE + GDAL实现影像按标准图幅分割(上)
    ArcEngine保存栅格数据至rastercatalog
    通过日志解决问题的一个小例子-http换端口
    firewall-cmd命令的富语言(richlanguage)示例
    VMware空虚拟机通过网络安装系统时获取不到IP地址情况(基于Linux的DHCP服务器)
    Linux中tune2fs命令的-o选项
    date -d
    tmp/ 和 var/tmp/ 的区别
  • 原文地址:https://www.cnblogs.com/zeze/p/php2.html
Copyright © 2020-2023  润新知