Blogger Information
Blog 26
fans 0
comment 2
visits 35281
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
数据与请求验证实例(0113PHP开发)
小辰
Original
808 people have browsed it

1.$_SERVER全部变量练习
效果图

运行代码

  1. <?php
  2. echo '1.当前运行脚本所在的服务器的 IP 地址'.$_SERVER['SERVER_ADDR'].'<br>';
  3. echo '2.服务器使用的 CGI 规范的版本'.$_SERVER['GATEWAY_INTERFACE'].'<br>';
  4. echo '3.当前运行脚本所在的服务器的主机名'.$_SERVER['SERVER_NAME'] .'<br>';
  5. echo '4.服务器标识字符串'.$_SERVER['SERVER_SOFTWARE'].'<br>';
  6. echo '5.请求页面时通信协议的名称和版本'.$_SERVER['SERVER_PROTOCOL'].'<br>';
  7. echo '6.请求开始时的时间戳'.$_SERVER['REQUEST_TIME'].'<br>';
  8. echo '7.查询字符串'.$_SERVER['QUERY_STRING'].'<br>';
  9. echo '8.当前运行脚本所在的文档根目录'.$_SERVER['DOCUMENT_ROOT'].'<br>';
  10. echo '9.当前请求头中 Accept内容'.$_SERVER['HTTP_ACCEPT'].'<br>';
  11. echo '10.浏览当前页面的用户的主机名'.$_SERVER['HTTP_HOST'].'<br>';
  12. echo '11.用户机器上连接到 Web 服务器所使用的端口号'.$_SERVER['REMOTE_PORT'].'<br>';
  13. echo '12.经验证的用户'.$_SERVER['REMOTE_USER'].'<br>';
  14. echo '13.当前执行脚本的绝对路径'.$_SERVER['SCRIPT_FILENAME'].'<br>';
  15. echo '14.指明了 Apache 服务器配置文件中的 SERVER_ADMIN 参数'.$_SERVER['SERVER_ADMIN'].'<br>';
  16. echo '15.Web 服务器使用的端口'.$_SERVER['SERVER_PORT'].'<br>';
  17. echo '16.包含了服务器版本和虚拟主机名的字符串'.$_SERVER['SERVER_SIGNATURE'].'<br>';
  18. echo '17.当前脚本的路径'.$_SERVER['SCRIPT_NAME'].'<br>';
  19. echo '18.URI 用来指定要访问的页面'.$_SERVER['REQUEST_URI'].'<br>';
  20. echo '19.使用 HTTP 认证功能de变量便是认证的类型'.$_SERVER['AUTH_TYPE'].'<br>';
  21. echo '20.包含由客户端提供的、跟在真实脚本名称之后并且在查询语句(query string)之前的路径信息'.$_SERVER['PATH_INFO'].'<br>';
  22. echo '21.在被 PHP 处理之前,"PATH_INFO" 的原始版本。'.$_SERVER['ORIG_PATH_INFO'].'<br>';

2.对常用验证器进行测试
效果图

运行代码

  1. <?php
  2. //过滤器的使用
  3. //对于邮箱的过滤
  4. $email = 'adming';
  5. echo filter_var($email,FILTER_VALIDATE_EMAIL)? '邮箱格式正确' : '邮箱格式错误';
  6. echo '<hr>';
  7. //外部变量过滤
  8. echo $_SERVER['SCRIPT_NAME'].'<br>';
  9. echo filter_input(INPUT_SERVER, 'SCRIPT_NAME') . '<br>';
  10. echo '<hr>';
  11. //过滤掉路径信息
  12. echo filter_input(INPUT_SERVER, 'PATH_INFO') . '<br>';
  13. echo '<hr>';
  14. //URI 的一个实例或实现
  15. echo $_SERVER['SCRIPT_URI'].'<br>';
  16. echo filter_input(INPUT_SERVER, 'REQUEST_URI') . '<br>';
  17. echo '<hr>';
  18. //服务器接口过滤,接口没问题两者结果一致
  19. echo $_SERVER['SERVER_PORT'].'<br>';
  20. echo filter_input(INPUT_SERVER, 'SERVER_PORT') . '<br>';
  21. echo '<hr>';
  22. // 获取当前请求的URL完整地址
  23. $port = filter_input(INPUT_SERVER, 'SERVER_PORT');
  24. $scheme = intval($port) === 443 ? 'https://' : 'http://';
  25. $host = filter_input(INPUT_SERVER, 'HTTP_HOST');
  26. // echo $host;
  27. $uri = filter_input(INPUT_SERVER, 'REQUEST_URI');
  28. echo $scheme . $host . $uri;
  29. echo '<hr>';
  30. echo filter_has_var(INPUT_GET, 'id') ? '存在id' :'不存在id';
  31. echo '<hr>';
  32. //验证ID是否为整数,过滤器对整数的过滤
  33. if (filter_has_var(INPUT_GET, 'id')) {
  34. if (filter_input(INPUT_GET, 'id', FILTER_VALIDATE_INT)) {
  35. echo 'id通过';
  36. } else {
  37. echo 'id失败';
  38. }
  39. } else {
  40. echo '不存在id';
  41. }
  42. echo '<hr>';
  43. // 自定义过滤器,将'php.cn'用'php中文网'代替的过滤器
  44. function filter_words($str)
  45. {
  46. return str_replace('php.cn', 'php中文网', $str);
  47. }
  48. $str = 'php.cn是一个专业的php学习与分享平台';
  49. echo $str . '<br>';
  50. //ILTER_CALLBACK 过滤器调用用户自定义函数来过滤数据。该过滤器为我们提供了对数据过滤的完全控制。
  51. echo filter_var($str, FILTER_CALLBACK, ['options'=>'filter_words']);

3.数据序列化与反序列化基本操作
效果图

运行代码

  1. <?php
  2. // 序列化
  3. $var = 999;
  4. // 变量序列化
  5. echo serialize($var);
  6. echo '<hr>';
  7. // 数组序列化
  8. $arr = [
  9. 999,
  10. 'pyp',
  11. 'true',
  12. 9.99
  13. ];
  14. echo serialize($arr);
  15. echo "<hr>";
  16. // 反序列化
  17. $a1 =unserialize('a:4:{i:0;i:999;i:1;s:3:"pyp";i:2;s:4:"true";i:3;d:9.99;}');
  18. var_dump($a1);
  19. echo "<hr>";
  20. setcookie('user', serialize($arr));
  21. $add=unserialize($_COOKIE['user']);
  22. var_dump($add);

4.小结
我觉得过滤器的主要作用是准确的获取,过滤的值。而序列化可以快速的将值放入cookie中,提高效率。

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:序列化是为了传输或存储方便
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post