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。

2fb3acb342c99108b0a5d80d5704103d.png

"?"后面的内容为参数信息

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

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

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收到后分别遍历每种题型的数组即可。

[b]4.HTML特殊字符处理

在将用户输入的内容输出到HTML中显示时,会遇到特殊字符问题。

例如,用户提交一段HTML代码时,为了将代码原样显示,需要将里面的特殊字符串转换为实体字符,防止被浏览器解析

若没有对这些特殊字符进行处理,会给网站的安全带来风险。

为了解决这类问题,PHP提供了许多专门处理HTML特殊字符的函数

c11067e4bf54aec0b862d955f3f07066.png

nl2br(),echonl2br(“123n456”,false);

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

$html=<<

  • 苹果
  • 香蕉

123456789

EOD;

echostrip_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'56

123
4'56

urlencode()和urldecode()函数,urlencode()和urldecode()函数主要用于在HTML中输出URL参数时进行编码转换,前者用于编码,后者用于解码。

注意,当使用$_GET接收参数时,获得的数据已经是URL解码后的结果,无需手动进行处理。

$name='A&BC';

$name=urlencode($name);//URL编码

echo"http://localhost/test.php?name=$name","n";

echourldecode($name);//URL解码

//输出结果

http://localhost/test.php?name=A%26B+C

A&BC

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程序设计有所帮助。

您可能感兴趣的文章:Ajax+php数据交互并且局部刷新页面的实现详解php接口与前端数据交互实现示例代码利用php做服务器和web前端的界面进行交互Ajax异步传输与PHP实现交互示例AndroidApp端与PHPWeb端的简单数据交互实现示例微信小程序学习笔记之表单提交与PHP后台数据交互处理图文详解php变量与JS变量实现不通过跳转直接交互的方法Ajax+PHP简单数据交互PHP与MySQL交互使用详解PHP与服务器文件系统的简单交互

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值