首页 > 作文

PHP与Web页面交互操作实例分析

更新时间:2023-04-08 18:39:59 阅读: 评论:0

本文实例讲述了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。

“?”后面的内容为参数信息

参数是由参数名和参数值组成的,中间使用等号“=”进行连接

多个参数之间使用“&”分隔

urname和password是参数名,对应表单中的name属性

test和123456是参数值,对应用户填写的内容

if (ist($_get['urname']) && ist($_get['password'])) { echo $_get['urname']; // 输出结果:test echo $_get['password']; // 输出结果:123456}

3.数组方式提交数据

复选框是一种支持提交多个值的表单控件

在编写表单时应将其 name属性设置为数组

<input type="checkbox" name="hobby[]" value="swimming"> 游泳<input type="checkbox" name="hobby[]" value="reading"> 读书<input type="checkbox" name="hobby[]" value="running"> 跑步print_r($_post['hobby']);

$_post中的hobby元素是一个索引数组,数组中的元素是用户所选复选框对应的value属性值

当用户未选中任何复选框时,$_post数组中将不存在hobby元素

<!-- 表单控件 -->// 接收代码<input type="text" name="ur[name]">$_post['ur']['name'泡椒鸡爪的做法大全];<input type="text" name="ur[a][1]">$_post['ur']['a'][1];<input type="text" name="ur[1][b]">$_post['ur'][1]['b'];<input type="text" name="ur[c][]">$_post['ur']['c'][0];<input type="text" name="ur[][d]">$_post['ur'][2]['d'];<input type="text" name="ur[][]">$_post['ur'][3][0];<input type="text" name="ur[3][][]">$_post['ur'][3][1][0];<input type="text" name="ur[3][][]">$_post['ur'][3][2][0];<input type="text" name="ur[][][2]">$_post['ur'][4][0][2];<input type="text" name="ur[4][0][]">$_post['ur'][4][0][3];

当需要处理的表单内容非常多的情况下,表单中name属性的命名可以采用多维数组的形式,便于开发,其使用方式与php中的数组非常相似

例如,开发在线考试系统时,表单中有填空题、单选题、多选题、判断题等多种题型,这时可以将每种题型放到一个数组里面进行提交,php收到后分别遍历每种题型的数组即可。

4.html特殊字符处理

在将用户输入的内容输出到html中显示时,会遇到特殊字符问题。
例如,用户提交一段html代码时,为了将代码原样显示,需要将里面的特殊字符串转换为实体字符,防止被浏览器解析
若没有对这些特殊字符进行处理,会给网站的安全带来风险。
为了解决这类问题,php提供了许多专门处理html特殊字符的函数

nl2br(),echo nl2br(“123\n456”, fal);

strip_tags()可以去除字符串中的标记部分,通常用于读取一段html代码后,去除其中的html标记,只保留文本。

$html = <<<'eod'<ul><li>苹果</li><li>香蕉</li></ul>123<test>456</test><aaa>789eod;echo strip_tags($html);//输出结果苹果香蕉123456789

转换和还原字符串中的html特殊字符,
htmlspecialchars()和hdartztmlspecialchars_decode()函数分别用于转换和还原字符串中的html特殊字符,具体包括“&”、单引号、双引号、“<”、“>”,其中单引号需要将函数的第2个参数设置为ent_quotes常量才会进行转换。

$html = "123<br>4'56";$html = htmlspecialchars($html, ent_quotes | ent_html5);echo $html, "\n";$str = htmlspecialc九八一事变hars_decode($html, ent_quotes | ent_html5);echo $html;//输出结果123&lt;br&gt;4&apos;56123<br>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%5动物英语单词b1%5d=running

本文发布于:2023-04-08 18:39:45,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/bac88676a825e9e91e3c0af2f833a4bd.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:PHP与Web页面交互操作实例分析.doc

本文 PDF 下载地址:PHP与Web页面交互操作实例分析.pdf

标签:表单   数组   参数   属性
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图