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

 更新时间:2016年09月11日 11:48:05   作者:onestopweb  
这篇文章主要介绍了PHP入门教程之表单与验证技巧,结合实例形式分析了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 />
  密&nbsp;&nbsp;码:<input type="text" name="password" /><br />
  验证码:<input type="text" name="code" size="5" />1234<br />
  邮&nbsp;&nbsp;箱:<input type="text" name="email" /><br />
  介&nbsp;&nbsp;绍:<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实现UTF-8文件BOM自动检测与移除实例

    PHP实现UTF-8文件BOM自动检测与移除实例

    这篇文章主要介绍了PHP实现UTF-8文件BOM自动检测与移除的方法,实例讲述了UTF-8文件BOM信息的原理与PHP对此的检测与删除方法,是非常实用的技巧,需要的朋友可以参考下
    2014-11-11
  • 什么是OneThink oneThink后台添加插件步骤

    什么是OneThink oneThink后台添加插件步骤

    这篇文章主要为大家详细介绍了oneThink后台添加插件的具体实现步骤,内容简单,步骤完整,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • PHP单文件上传原理及上传函数的封装操作示例

    PHP单文件上传原理及上传函数的封装操作示例

    这篇文章主要介绍了PHP单文件上传原理及上传函数的封装操作,结合实例形式详细分析了php文件上传的原理、步骤及相关函数封装操作技巧,需要的朋友可以参考下
    2019-09-09
  • PHP中localeconv()函数的用法

    PHP中localeconv()函数的用法

    今天小编就为大家分享一篇关于PHP中localeconv()函数的用法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • PHP实现的一致性HASH算法示例

    PHP实现的一致性HASH算法示例

    这篇文章主要介绍了PHP实现的一致性HASH算法,结合具体实例形式分析了hash算法的具体定义与使用技巧,需要的朋友可以参考下
    2018-03-03
  • PHP类的特性实例分析

    PHP类的特性实例分析

    这篇文章主要介绍了PHP类的特性,结合实例形式分析了php类中静态方法与静态成员调用的相关使用技巧,需要的朋友可以参考下
    2016-09-09
  • PHP文件打开关闭及读写操作示例解析

    PHP文件打开关闭及读写操作示例解析

    这篇文章主要介绍了PHP文件打开关闭及读写操作示例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • PHP时间相关常用函数用法示例

    PHP时间相关常用函数用法示例

    这篇文章主要介绍了PHP时间相关常用函数用法,结合实例形式详细分析了PHP日期时间函数常见操作方法与使用注意事项,需要的朋友可以参考下
    2020-06-06
  • php反射学习之依赖注入示例

    php反射学习之依赖注入示例

    这篇文章主要介绍了php反射学习之依赖注入,结合具体实例形式分析了php基于反射的依赖注入原理与实现方法,需要的朋友可以参考下
    2019-06-06
  • PHP 优化配置——加速你的VBB,phpwind,Discuz,IPB,MolyX

    PHP 优化配置——加速你的VBB,phpwind,Discuz,IPB,MolyX

    PHP 优化配置——加速你的VBB,phpwind,Discuz,IPB,MolyX...
    2007-07-07

最新评论