• PHP——表单


    表单处理

    收集表单数据

    • $_GET
    • $_POST
      举个例子(以POST方式为例,GET和POST类似,直叙改方式为get,$_POST为$_GET)
    <html>
    <body>
    
        <form action="welcome.php" method="post">
            Name:<input type="text" name="name"><br>
            E-mail:<input type="text" name="email"><br>
            <input type="submit">
        </form>
    </body>
    </html>
    
    <html>
    <body>
    Welcome:<?php echo $_POST["name"];?><br/>
    Your email address is:<?php echo $_POST["email"];?>
    </body>
    </html>
    

    GET和POST的使用情况

    • GET可用于发送非敏感的数据(因为数据在URL上),且限制在2000个字符
    • POST可用于发送敏感数据(比如密码),且不限制字符数量

    表单验证

    目的

    对表单数据进行验证是为了防范何可和垃圾邮件
    http://www.example.com/test_form.php/%22%3E%3Cscript%3Ealert('hacked')%3C/script%3E

    步骤

    • trim() 去除用户输入数据中不必要的字符(多余的空格、制表符、换行)
    • stripaslashes() 删除用户输入数据中的反斜杠
    • htmlspecalchars() 将特殊字符转换为HTML实体
      举个例子
    <!DOCTYPE HTML> 
    <html>
    <head>
    <meta charset="utf-8">
    <title>表单验证</title>
    </head>
    
    <body>
    <?php
    $name=$email=$gender=$comment=$website="";
    
    if ($_SERVER["REQUEST_METHOD"] == "POST")
    {
       $name = test_input($_POST["name"]);
       $email = test_input($_POST["email"]);
       $website = test_input($_POST["website"]);
       $comment = test_input($_POST["comment"]);
       $gender = test_input($_POST["gender"]);
    }
    
    function test_input($data)
    {
       $data = trim($data);
       $data = stripslashes($data);
       $data = htmlspecialchars($data);
       return $data;
    }
    ?>
    
    <h2>PHP表单验证实例</h2>
    <form method ="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
       名字:<input type="text" name="name"><br/>
       E-mail:<input type="text" name="email"><br/>
       网址:<input type="text" name="website"><br>
       备注:<textarea name="comment" rows="5" cols="40"></textarea><br/>
       性别:<input type="radio" name="gender" value="female">女
            <input type="radio" name="gender" value="male">男<br>
       <input type="submit" name="submit" value="Submit">
    </form>
    
    <?php
    echo "<h2>您输入的内容是:</h2>";
    echo $name;
    echo "<br/>";
    echo $email;
    echo "<br/>";
    echo $website;
    echo "<br/>";
    echo $comment;
    echo "<br/>";
    echo $gender;
    ?>
    
    </body>
    </html>
    

    表单必填

    目的

    • 防止必填类容未填

    方法

    • 用empty()对变量做判断,若是空则做出提示

    表单URL/E-mail

    验证名字

    if(!preg_match("/^[a-zA-Z]*$/",$name));


    验证E-mail

    if(!preg_match("/([w-]+@[w-]+.[w-]+)/",$email));


    表单完成

  • 相关阅读:
    java 三目运算符
    增强for 可以用于ArrayList
    shell SORT
    BASH if/while/until loop
    设置临时环境变量
    2015年创业中遇到的技术问题:121-130
    2015年创业中遇到的技术问题:121-130
    JDK8新特性之Lambda表达式
    使用Html5开发Android和iOS应用:HBuilder、Html5Plus、MUI
    使用Html5开发Android和iOS应用:HBuilder、Html5Plus、MUI
  • 原文地址:https://www.cnblogs.com/ceiling-/p/14338520.html
Copyright © 2020-2023  润新知