zoukankan      html  css  js  c++  java
  • PHP表单与验证

    一.Header()函数

    标头 (header) 是服务器以 HTTP 协议传 HTML 资料到浏览器前所送出的字符串,在标头与 HTML 文件之间尚需空一行分隔。

    /*一.Header()函数  */
      1 重现导向一个URL
      可以跳转到你想要的页面
      在执行header();之前不能有任何浏览器输出
      header('Location:demo2.php');
      header('Location:http://www.baidu.com');
    
      2 用于设置字符编码
      header('Content-Type:text/html;charset=utf-8');
      echo '党兴明';

    二.接受及验证数据

    GETPOST

    处理表单时,必须指定输入到表单的信息以何种方式传输到其目的地(method="")。对此,Web开发人员可以采用GETPOST。使用GET方法发送数据时,所有域都追加到浏览器的URL后面,并且为数据随URL地址发送。采用POST方法时,值会作为标准值发送。

    PHP分别使用$_GET$_POST超全局变量来处理GETPOST变量。通过使用这两个超全局变量,可以准确地指定信息应当来自哪里,并以你希望的方式处理数据。

    demo5.php

    <form method='post' action='demo6.php'>
    用户名:<input type='text' name='username' /><br />
    密&#160码:<input type='password' name='password' /><br />
    验证码:<input type='text' name='code' size='5' />1234<br />
    邮&#160件:<input type='email' name='email' /><br />
    简&#160介:<textarea rols='6' cols='20'></textarea><br />
    <input type='submit' name='send' value='提交' />
    </form>

    demo6.php

    //1 线验证是否是demo3.php提交过来的
      //只要是按钮点到我这里来的,那就说明,其它超级全局变量都应该存在
      if (!isset($_POST['send']) || $_POST['send']!='提交'){ //没有点击提交按钮或者点击的不是name='send'的按钮提交过来的就退出
          header('Location:demo6.php');  //跳回demo3.php页面
          exit;  //跳出,下面不需要执行了
      }
      
      //2 接受所有数据
      $username = $_POST['username'];
      $password = $_POST['password'];
      $code = $_POST['code'];
      $email = $_POST['email'];
      $content = htmlspecialchars(trim($_POST['content']));//过滤下文本中的html和两边的空白
      
      //用户名不能小于两位,不能大于10位
      if(strlen($username)<2 || strlen($username)>10){
          //使用js来跳转,有提示的
          echo "<script>alert('用户名不能小于两位或大于10位');history.back();</script>";
          exit;
      }
      
      //密码不能小于两位
      if (strlen($password) <6){
          echo "<script>alert('密码不能小于四位');history.back();</script>";
          exit;
      }
      
      //验证码必须是四位,必须是数字
      if (strlen($code) !=4 || !is_numeric($code)){
          echo "<script>alert('验证码必须是四位,必须是数字');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 />'.$code.'<br />'.$email.'<br />'.$content;

     get的实例:表单建议用post

    <a href='demo2.php?a=5'>demo2</a>
    <?php
      echo $_GET['a']; 
    ?>
  • 相关阅读:
    ASP.NET 内置对象涉略
    Java chapter04-1
    extjs 优化小建议
    物流追踪
    2013杭州网络赛C题HDU 4640(模拟)
    <jsp:include page="">和<%@include page=""%> 标签学习
    戴尔CEO:我们将专注于企业 而非手机业务
    阿里巴巴2014校招笔试题
    关于struts2.x中(警告: Could not find property [struts.valueStack])的解决方法
    Cannot find class [org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer]
  • 原文地址:https://www.cnblogs.com/by-dxm/p/6149024.html
Copyright © 2011-2022 走看看