简述php和web交互过程,PHP与Web页面交互操作实例分析
PHP与Web页面交互操作实例分析,表单,数组,参数,字符串,属性
PHP与Web页面交互操作实例分析
易采站长站,站长之家为您整理了PHP与Web页面交互操作实例分析的相关内容。
本文实例讲述了PHP与Web页面交互操作。分享给大家供大家参考,具体如下:
Web交互
1.Web表单交互 当表单的method属性提交方式为POST时,浏览器发送POST请求 当表单的method属性提交方式为GET时,浏览器发送GET请求
当PHP收到来自浏览器提交的数据后,会自动保存到超全局变量中。
超全局变量是PHP预定义好的变量,可以再PHP脚本的任何位置使用 常见的超全局变量数组变量有$ _POST、$_GET等 通过POST方式提交的数据会保存到$_POST中 通过GET方式提交的数据会保存到$_GET中
2.URL参数交互
当表单以GET方式提交时,会将用户填写的内容放在URL参数中进行提交。
表单的method属性删除(或将其值改为get),然后提交表单,会得到如下URL。
"?"后面的内容为参数信息
参数是由参数名和参数值组成的,中间使用等号“=”进行连接
多个参数之间使用“&”分隔
username和password是参数名,对应表单中的name属性
test和123456是参数值,对应用户填写的内容 if (isset($_GET['username']) && isset($_GET['password'])) { echo $_GET['username']; // 输出结果:test echo $_GET['password']; // 输出结果:123456}
3.数组方式提交数据
复选框是一种支持提交多个值的表单控件
在编写表单时应将其 name属性设置为数组 游泳 读书 跑步print_r($_POST['hobby']);
$_POST中的hobby元素是一个索引数组,数组中的元素是用户所选复选框对应的value属性值
当用户未选中任何复选框时,$_POST数组中将不存在hobby元素 // 接收代码$_POST['user']['name'];$_POST['user']['a'][1];$_POST['user'][1]['b'];$_POST['user']['c'][0];$_POST['user'][2]['d'];$_POST['user'][3][0];$_POST['user'][3][1][0];$_POST['user'][3][2][0];$_POST['user'][4][0][2];$_POST['user'][4][0][3];
当需要处理的表单内容非常多的情况下,表单中name属性的命名可以采用多维数组的形式,便于开发,其使用方式与PHP中的数组非常相似
例如,开发在线考试系统时,表单中有填空题、单选题、多选题、判断题等多种题型,这时可以将每种题型放到一个数组里面进行提交,PHP收到后分别遍历每种题型的数组即可。
4.HTML特殊字符处理
在将用户输入的内容输出到HTML中显示时,会遇到特殊字符问题。
例如,用户提交一段HTML代码时,为了将代码原样显示,需要将里面的特殊字符串转换为实体字符,防止被浏览器解析
若没有对这些特殊字符进行处理,会给网站的安全带来风险。
为了解决这类问题,PHP提供了许多专门处理HTML特殊字符的函数
nl2br(),echo nl2br(“123\n456”, false);
strip_tags()可以去除字符串中的标记部分,通常用于读取一段HTML代码后,去除其中的HTML标记,只保留文本。 $html = <<
苹果香蕉123456789EOD;echo strip_tags($html);//输出结果苹果香蕉123456789
转换和还原字符串中的HTML特殊字符,
htmlspecialchars()和htmlspecialchars_decode()函数分别用于转换和还原字符串中的HTML特殊字符,具体包括“&”、单引号、双引号、“”,其中单引号需要将函数的第2个参数设置为ENT_QUOTES常量才会进行转换。 $html = "123
4'56";$html = htmlspecialchars($html, ENT_QUOTES | ENT_HTML5);echo $html, "\n";$str = htmlspecialchars_decode($html, ENT_QUOTES | ENT_HTML5);echo $html;//输出结果123<br>4'56123
4'56
urlencode()和urldecode()函数,urlencode()和urldecode()函数主要用于在HTML中输出URL参数时进行编码转换,前者用于编码,后者用于解码。
注意,当使用$_GET接收参数时,获得的数据已经是URL解码后的结果,无需手动进行处理。 $name = 'A&B C';$name = urlencode($name);// URL 编码echo "http://localhost/test.php?name=$name", "\n";echo urldecode($name);// URL解码//输出结果http://localhost/test.php?name=A%26B+CA&B C
http_build_query(),利用http_build_query()函数可以将PHP关联数组转换为URL参数字符串。 $params = ['name' => 'test','hobby' => ['reading', 'running']];$query = http_build_query($params);echo "http://localhost/test.php?$query";//输出结果http://localhost/test.php?name=test&hobby%5B0%5D=reading&hobby%5B1%5D=running
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php程序设计安全教程》、《php安全过滤技巧总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。以上就是关于对PHP与Web页面交互操作实例分析的详细介绍。欢迎大家对PHP与Web页面交互操作实例分析内容提出宝贵意见
简述php和web交互过程,PHP与Web页面交互操作实例分析相关推荐
- Android编写界面交互代码,android仿音悦台页面交互效果实例代码
概述 新版的音悦台 APP 播放页面交互非常有意思,可以把播放器往下拖动,然后在底部悬浮一个小框,还可以左右拖动,然后回弹的时候也会有相应的效果,这种交互效果在头条视频和一些专注于视频的app也是很常 ...
- 深入分析Java Web技术内幕读书笔记(一)浅析Web请求过程
随着Web技术的快速发展,互联网的网络架构已经从传统的C/S架构转变为B/S架构,B/S架构相较于传统的C/S架构,有诸多优点,例如:提供了统一的操作方式,简化了用户的学习成本:便捷的开发方式大大提高 ...
- IC卡读PBOC指令交互过程
IC卡读PBOC指令交互过程 选择PSE支付环境文件 操作 数据 发送指令 00A404000E315041592E5359532E444446303100 卡片返回数据 6F22840E315041 ...
- HTTPS协议,SSL协议及完整交互过程
转自:https://blog.csdn.net/dfsaggsd/article/details/50910999 SSL 1. 安全套接字(Secure Socket Layer,S ...
- 深入理解WEB请求过程
随着web2.0时代的到来,互联网的网络架构已经从传统的C/S架构转变成更加方便快捷的B/S架构,B/S架构大大简化了用户使用网络应用的难度,带来了以下两方面的好处: 1.客户端使用统一的浏览器.由于 ...
- 远程读卡器web客户端(nodejs+websocket实现实时指令交互)
工具目的:在公司对现场的卡片进行测卡,读写卡测试,远程诊断卡片问题,快速定位和解决现场问题. 之前的那一个版本的小工具,远程读卡器web客户端,实现原理是把读写卡服务装在远程(现场)的电脑上,这样有一 ...
- WEB请求过程(http解析,浏览器缓存机制,域名解析,cdn分发)
WEB请求过程(http解析,浏览器缓存机制,域名解析,cdn分发) 目录 WEB请求过程(http解析,浏览器缓存机制,域名解析,cdn分发) 概述 HTTP解析 HTTP请求头 HTTP响应头 H ...
- Android Camera 通过V4L2与kernel driver的完整交互过程
Android Camera 通过V4L2与kernel driver的完整交互过程 之前在 Android Camera 的执行流程 http://blog.chinaunix.net/uid ...
- SSH基本简介及连接交互过程
简介: SSH(Secure+SHell):是一种网络协议,顾名思义,就是非常安全的shell,主要用于计算机间的加密传输. SSH服务基于非对称加密(public-key cryptograthy, ...
最新文章
- 设计模式-职责链模式
- python怎么安装requests库-python怎么安装requests库
- 本月 上月 php,显示本月,上月,今天,今年以及各时间起点与
- echart中拆线点的偏移_Real BIM | Rhino+Grasshopper在双曲异形玻璃幕墙中的应用
- 爬虫必备反爬技能:使用动态ip
- weex监听android返回键,weex使用手册
- php调用ruby,ruby、javascript、php中的观察者模式实现代码
- Y-Combinator不同语言实现方案
- cad尺寸标注快捷键_CAD中还能这样快速标注尺寸?怪不得同事天天准时下班
- mysql中文模糊查询_解决mysql中文模糊查询问题的方法
- 明解C语言(入门篇)第十一章
- texlive2021
- 电商运营小白,如何快速入门学习数据分析?
- Linux内存管理 (1)物理内存初始化
- 苹果手机用H5 audio标签无法自动播放音乐解决方法/html网页自动播放音乐
- js原型、原型链、原型链继承详解
- Kettle连接MySQL数据库报错:Driver class ‘org.gjt.mm.mysql.Driver‘ could not be found
- 【转载】PCB设计方法和技巧
- 视频虚化边框剪辑技巧分享
- 一款基于 Spring Boot 的神仙接私活项目,已开源,2022 接私活必备!
热门文章
- Oracle的SQL基础之用户与表空间
- 虚拟机安装系统磁盘扩容
- mysql限制登录次数_mysql会话控制限制登录次数(connection_control插件)
- MySQL : mysql连接报 Communications link failure
- 95-136-041-源码-Operator-OneInputStreamOperator
- kylin: build cube Hbase: Region Server 意外退出
- mac下flink的wordcount案例
- spark学习-28-Spark数据倾斜问题
- 为什么redis可以做分布式锁
- 这是我见过最通俗易懂的单例模式讲解了!