广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP中如何接收外部参数
  • 481
分享到

PHP中如何接收外部参数

2023-06-15 10:06:53 481人浏览 薄情痞子
摘要

这期内容当中小编将会给大家带来有关PHP中如何接收外部参数,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。<!DOCTYPE html><html lang="

这期内容当中小编将会给大家带来有关PHP中如何接收外部参数,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Document</title></head><body>    <fORM action="?show=1" method="post">        姓名:<input type="text" name="name"/><br />        电话:<input type="text" name="tel"/><br/>        地址(省):<input type="text" name="address.prov"/><br/>        地址(市):<input type="text" name="address city"/><br/>        兴趣1:<input type="text" name="interest[]"/><br/>        兴趣2:<input type="text" name="interest[]"/><br/>        兴趣3:<input type="text" name="interest[]"/><br/>        学历1:<input type="text" name="edu[one]"/><br/>        学历2:<input type="text" name="edu[two]"/><br/>        <input type="submit" value="提交" >    </form></body></html>

正常的$_GET、$_POST方式

// 正常的GET、POST    echo $_GET['show'], '<br/>'; // 1    echo $_POST['name'], '<br/>'; // 提交的内容

这是最基础的也是最直接的接参方式,GET参数通过 $_GET 获取,POST参数通过 $_POST 获取,互相都不干扰。

正常的$_REQUEST方式

    // 使用REQUEST    echo $_REQUEST['show'], '<br/>'; // 1    echo $_REQUEST['tel'], '<br/>'; // 提交的内容

$_REQUEST 则是获取所有请求中的参数,不包括上传文件。也就是说,它包含了 $_GET 、 $_POST 以及 $_COOKIE(需要配置,默认不包含) 这三个接参变量中的所有内容。这里需要注意的一点是,php5.3以后, $_REQUEST 接受的参数变量内容由 php.ini 文件中的 request_order 指定,默认情况下这个配置参数的值是 GP 也就是 GET 和 POST ,并没有 COOKIE ,想要 COOKIE 的话需要修改这里添加一个C就可以了。

如果 $_GET 、 $_POST 中有同名的内容呢? $_REQUEST 展示的顺序也是根据这配置参数的顺序来的,从左至右,后面的覆盖前面的,比如你配置的是GP 那么参数覆盖的顺序是: POST > GET,最终显示的就是 POST 中的内容。

reGISter_globals问题

    // register_globals 如果打开    echo $name, '<br/>'; // 提交的内容    echo $tel, '<br/>'; // 提交的内容

这是一个不安全的配置,也是在 php.ini 文件中进行配置的。它的作用就是将请求来的参数直接转成变量,有全局变量污染的问题,不要打开!!!现在的 php.ini 文件中基本都是默认关闭的。

import_request_variables

    // import_request_variables 抱歉,5.4之后已经取消了    import_request_variables('pg', 'pg_');    echo $pg_show, '<br/>';    echo $pg_name, '<br/>';

这个函数是手动将指定的参数变量里面的内容注册为全局变量,同样的,它也在5.4之后被取消的,这样的函数都会存在风险,我们了解一下曾经有过这样一个函数即可。

extract

    extract($_POST, EXTR_PREFIX_ALL, 'ex');    echo $ex_name, '<br/>'; // 提交的内容    echo $ex_tel, '<br/>'; // 提交的内容

extract 是目前可以代替上面两种参数转变量的方式中目前依然支持的。它是由我们自己来控制对已存在变量的覆盖的,也就是第二个参数,这样在可控的环境下可以极大地避免污染全局变量的问题,当然前提还是我们自己要确定使用它,具体内容可以自行查找文档参考哦!

参数名中的.和空格

    // 参数名中的.和空格    echo $_REQUEST['address_prov'], '<br/>'; // 提交的内容    echo $_REQUEST['address_city'], '<br/>'; // 提交的内容

表单提交的 input 的 name 中如果包含 . 或者 空格 ,将直接转换成 下划线 。不过我们在前端命名中也不建议使用 . 或者 空格 ,需要的时候直接就使用 下划线 就好了,前后端不要造成歧义。

参数名中的[]

    // 参数名中的[]    print_r($_REQUEST['interest']); // Array (v,....)     echo '<br />';    print_r($_REQUEST['edu']); // Array (k/v,....)

当表单提交的 input 的 name 是数组形式的,也就是 "interest[]" 或 "edu[one]" 这种形式时,我们接收到的参数默认就会成为一个数组形式的内容。

高大上的php://input

    // php://input    $content = file_get_contents('php://input');       print_r($content); //name=xxx&.....

最后就是现在接口开发中经常会使用的 php://input 形式接参。一般是因为安全或参数字段较多的情况下,前端通过 Body Raw 的形式直接传递一整段的 Body 内容过来。这时候就只能用这种形式获取到了,这个 Body Raw 的原始内容一般会是一整段的文字,也有可能是进行过一些加密处理的内容,格式可以自己定义。而面对普通表单,我们将会接收到的也是原始的表单内容,就像上面的 name=xxx&tel=xxx&.... 这样的内容。

需要注意的是 enctype="multipart/form-data" 时它是无法获取到内容的。同时,这种方式也是代替 $Http_RAW_POST_DATA 全局变量的,不要再使用淘汰的能力了哦,尽早更新新版本的PHP使用新的语法特性哦!

上述就是小编为大家分享的PHP中如何接收外部参数了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网PHP编程频道。

--结束END--

本文标题: PHP中如何接收外部参数

本文链接: https://www.lsjlt.com/news/279775.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PHP中如何接收外部参数
    这期内容当中小编将会给大家带来有关PHP中如何接收外部参数,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。<!DOCTYPE html><html lang="...
    99+
    2023-06-15
  • shell脚本怎么使用两个横杠接收外部参数
    小编给大家分享一下shell脚本怎么使用两个横杠接收外部参数,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!首先,效果是这样的:既可以处理短选项(-)又可以处理长选项(--)[developer@hadoop-cluster...
    99+
    2023-06-09
  • shell脚本使用两个横杠接收外部参数的方法
    首先,效果是这样的: 既可以处理短选项(-)又可以处理长选项(--) [developer@hadoop-cluster-manager shell]$ ./demo.sh --help sqoop程序开始运行: d...
    99+
    2022-06-04
    shell脚本接收参数 shell接收外部参数
  • springboot如何接收json参数
    在Spring Boot中,可以使用`@RequestBody`注解来接收JSON参数。例如,假设有一个POST请求,请求体是一个J...
    99+
    2023-09-22
    springboot json
  • BIRT如何接收数组型参数
    这篇文章给大家介绍BIRT如何接收数组型参数,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。由于BIRT不直接支持数组型参数参与查询,即:无法把一个数组直接传给DataSet执行带in的SQL,所以很难直接在数据集中把S...
    99+
    2023-06-03
  • thinkphp5如何接收查询参数
    今天小编给大家分享一下thinkphp5如何接收查询参数的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。thinkphp5接收...
    99+
    2023-07-04
  • 如何使用Mybatis接收Integer参数
    小编给大家分享一下如何使用Mybatis接收Integer参数,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Mybatis接收Integer参数最近在做项目的时候...
    99+
    2023-06-29
  • springmvc如何使用map接收参数
    目录springmvc 使用map接收参数第一种情况:请求参数有多组第二种情况:所有的参数不分组用map接收参数的几个注意的问题1、接受map的参数不能写value2、对于多个同名字...
    99+
    2022-11-12
  • PHP中socket如何接收数据
    在PHP中,可以使用socket函数来接收数据。下面是一个示例代码:```php$socket = socket_create(AF...
    99+
    2023-09-26
    socket PHP
  • SpringMVC如何接收参数各种场景
    目录表单提交表单提交二后台代码接收方式一后台代码接收方式二表单提交 此处的表单时 -使用JSON.stringify()函数将数组转换成json类型提交后台,后台使用@Request...
    99+
    2022-11-12
  • php收不到参数如何解决
    这篇文章主要介绍“php收不到参数如何解决”,在日常操作中,相信很多人在php收不到参数如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php收不到参数如何解决”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-07-05
  • seo中如何做外部链接
    这篇文章主要介绍了seo中如何做外部链接,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。第一、形成有规律的发布在任何一个平台上都要学会建立公众账号,或者说建立英雄账号。而每一个...
    99+
    2023-06-13
  • 在controller中如何设置接收参数的默认值
    目录controller设置接收参数的默认值@RequestParam代表的是请求参数注解controller的传参问题controller的映射直接写类型,跟参数名Request....
    99+
    2022-11-13
  • php如何接收json数据
    在PHP中,可以使用`file_get_contents`函数来接收JSON数据。以下是一个接收JSON数据并处理的示例代码:```...
    99+
    2023-08-29
    php json
  • Laravel如何同时接收路由参数和查询字符串中的参数
    这篇文章主要介绍Laravel如何同时接收路由参数和查询字符串中的参数,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Laravel同时接收路由参数和查询字符串中的参数Laravel捕捉路由参数Laravel允许在co...
    99+
    2023-06-06
  • php如何接收字节数组
    随着Web应用程序的不断发展,PHP已经成为了现代Web开发中最受欢迎的编程语言之一。在PHP中,我们通常会涉及到数据的传输和接收,而字节数组是其中一种比较常见的数据类型。在本文中,我们将探讨如何在PHP中接收字节数组。一、什么是字节数组字...
    99+
    2023-05-19
  • golang接收post和get请求参数如何处理
    这篇文章主要讲解了“golang接收post和get请求参数如何处理”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“golang接收post和get请求参数如何处理”吧!1、golang中获取...
    99+
    2023-07-05
  • SpringBoot如何接收Post请求Body里面的参数
    目录如何接收Post请求Body里的参数ApiPost测试数据Java接收数据SpringBoot获取参数常用方式参数在body体中PathVaribale获取url路径的数据Req...
    99+
    2022-11-13
  • mybatis-plus分页如何接收前端参数limit和page
    目录记录一下layui+springboot+mybatis-plus实现分页controller层dao层创建config包创建返回前端的实体类前端接收到信息mybatis-plu...
    99+
    2022-11-12
  • SpringBoot2之PUT请求接收不了参数如何解决
    这篇文章主要讲解了“SpringBoot2之PUT请求接收不了参数如何解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SpringBoot2之PUT请求接收不了参数如何解决”吧!Hidde...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作