PHP入门教程之表单与验证实例详解

5年以前  |  阅读数:1113 次  |  编程语言:PHP 

本文实例讲述了PHP表单与验证。分享给大家供大家参考,具体如下:

Demo1.php


    <?php
      ob_start();
      //重新导向一个 URL
      //header()
      //header('Location:Demo2.php');
      //上面这句话可以自动跳转到你所想要的页面。
      //header('Location:http://www.baidu.com');
      //上面这句话自动跳转到百度上面去。
      echo 'baidu.com';
      header('Location:http://www.baidu.com');
      //在执行 header() 函数,必须注意,之前不能有任何浏览器输出
    ?>

Demo2.php


    <?php
      ob_start();
      echo '1232';
      //字符编码
      header('Content-Type:text/html;charset=GBK'); //设置页面编码
      echo '我是中文';
    ?>

Demo3.php


    <form method="post" action="Demo4.php">
      姓名:<input type="text" name="username" /><br />
      <input type="submit" value="提交" />
    </form>

Demo4.php


    <?php
      //第一步,接收前面表单中的值。
      //一个,username
      //接收 $_POST['username']
      //echo $_POST['username'];
      //你需要明白一个道理,空字符串也是数据,也可以赋值给 $_POST['username'];
      //使用 isset() 验证是否正常提交是很准确的
      //目前所说的非法提交,是你没有经过表单提交,没有生成全局变量,而不是 username
      //这个字段为空
    // if(isset($_POST['username'])){
    //   echo '正常提交';
    // }else{
    //   echo '非法提交';
    // }
      //!empty($_POST['username']) 和 == ''基本一样,但是,并不能说,人家是非法的
      //只能说人家没有填而已。
    // if(!empty($_POST['username'])){
    //   echo '正常提交';
    // }else{
    //   echo '非法提交';
    // }
      //建议使用
      if(isset($_POST['username'])){
        echo '正常提交';
        //在输出之前,为了页面安全性
        //echo $_POST['username'];
        $username = $_POST['username'];
        $username = trim($username);
        $username = htmlspecialchars($username);
        if(strlen($username) < 2) {
          echo '用户名不能小于两位';
          exit();
        }
        if(!is_numeric($username)) {
          echo '用户名必须是纯数字';
          exit();
        }
        echo $username; //<strong>阅谁问君诵</strong>
      }else{
        echo '非法提交';
      }
    ?>

Demo5.php


    <form method="post" action="Demo6.php">
      用户名:<input type="text" name="username" /><br />
      密  码:<input type="text" name="password" /><br />
      验证码:<input type="text" name="code" size="5" />1234<br />
      邮  箱:<input type="text" name="email" /><br />
      介  绍:<textarea rows="6" cols="25" name="content"></textarea><br />
      <input type="submit" value="提交" name="send" />
    </form>

Demo6.php


    <?php
      //第一步,先验证是否是 Demo5.php 提交过来
      //只要是按钮点到我这里来的,那么就说明,其他超级变局变量都应该存在
      //如果 send 是存在的,那么就说是点过来,否则,跳回
      if(!isset($_POST['send']) || $_POST['send'] != '提交'){
        header('Location:Demo5.php');
        exit; //跳回去了,下面就不需要执行了,那么就 exit;
      }
      //第二步,接收所有数据
      $username = trim($_POST['username']);
      $password = $_POST['password'];
      $code = trim($_POST['code']);
      $email = trim($_POST['email']);
      $content = htmlspecialchars(trim($_POST['content']));
      //用户名不能小于 2 位,不能大于 10 位
      if(strlen($username)<2||strlen($username)>10){
        echo "<script>alert('用户名不能小于两位或者大于10');history.back();</script>";
        exit;
      }
      //密码不能小于六位
      if(strlen($password) <6){
        echo "<script>alert('密码不能小于6位');history.back();</script>";
        exit;
      }
      //验证码必须是 4 位,必须是数字
      if(strlen($code)!=4 || !is_numeric($code)){
        echo "<script>alert('验证码必须是 4 位并且是纯数字');history.back();</script>";
        exit;
      }
      //验证电子邮件
      if(!preg_match('/^([\w\.]{2,255})@([\w\-]{1,255}).([a-z]{2,4})$/',$email)){
        echo "<script>alert('电子邮箱不合法');history.back();</script>";
        exit;
      }
      echo '用户名:'.$username.'<br/>';
      echo '电子邮件:'.$email.'<br/>';
      echo '个人介绍:'.$content;
    ?>

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

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

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例