表单传值

本文详细介绍了PHP中接收数据的三种方式:$_GET, $_POST, $_REQUEST,并着重讲解了如何处理复选框数据。在PHP中,复选框的name属性用[]表示,会自动组合为数组。处理复选框数据时,可能需要将数组转换为字符串存储到数据库,或者在HTML中使用in_array()检查复选框是否被选中。" 83661419,8180425,Spark RDD编程基础:转换与操作详解,"['大数据', '大数据开发', 'Spark', 'RDD', '数据分析']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PHP中接收数据的三种方式

$_GET:接收GET方式提交的数据

$_POST:提交POST方式提交的数据

$_REQUEST:接收POST或者GET提交的所有数据

这三种方式都是超全局预定义数组,表单元素的”name“属性的值作为数组的下标,而value属性对应的值就是数组的元素值

 

$_REQUEST所存储数据的内容:将$_post和$_get合并到一个数组

$_request和$_post与$_get的联系:如果get和post中有同名数组元素(下标),post会覆盖get(PHP中数组元素下标具有唯一性),这个可以在php.ini中进行配置

 

PHP处理复选框数据

复选框表单项的命名方式:

由于复选框通常是将一类内容以同样(同名)的形式传递给后台,数据库存储通常是一个字段存储。复选框的特点:选中才会提交

1、在浏览器端:checkbox的name属性不论什么都会被浏览器毫无保留的提交

2、在PHP中$_POST/$_GET都会对同名name属性进行覆盖

解决方案:浏览器不识别 [] (不认为有特殊性),但在PHP中 [] 该符号被认为是数组的形式,所以PHP就会自动将同名的但是带有 [] 的元素组合到一起形成一个数组。

 

复选框数据的接收形式:

PHP会自动组合同名元素为数组

 


复选框数据的常见处理

单选按钮的数据处理

radio button:可以出现多个选择项,但是只能选择其中一个

1、表单中使用的name属性:使用同名

2、后台接收数据也不需要额外处理

3、数据库存储只需要一个字段存储普通数据即可(数字或字符串)

4、PHP拿到数据之后,组织SQL直接存储到数据表即可

 

多选按钮的数据处理

1、表单中name属性使用数组格式:名字[] (一类复选框数据使用一个)

2、后台接受到数据之后是一个数组(不能存储到数据库)

3、PHP需要将数组转换成指定格式的字符串:使用分隔符分隔每一个元素并且形成字符串:implode( '分隔符' , 数组)

4、PHP组织SQL直接存储到数据库

5、如果需要得到数据,那么在取出数据之后,使用explede把字符串变成数组,语法与implode相同

     在HTML显示中,通过判断复选框元素是否在数组中存在,来确定复选框checkbox是否有checked=”checked“属性:in_array()

 

implode( '分隔符' , 数组):把数组按照分隔符转换成有格式的字符串

$hobby = $_POST['hobby'];
$hobby_string = implode($hobby,'|');

 

其他常规同名表单项的数据处理

除开radio button 单选框 和 checkbox 复选框,很少会出现同名的表单项,如果非要使用同名的进行管理,那么可以采用checkbox方式进行操作

1、表单中同名增加

2、PHP接收时数组处理

3、PHP转换成有格式的字符串

4、数据库字符串存储

 

复选框细节:如果复选框没有选中,那么复选框就不会提交。因此在PHP接收使用复选框(单选框)数据的时候,应该先判断是否存在该数据:

$hobby = isset($_post['hobby']) ? $_post['hobby'] : array();

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值