首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHP $_POST可以工作,但$_GET不能。

基础概念

$_POST$_GET 是 PHP 中用于处理 HTTP 请求数据的两种超全局变量。它们分别用于处理不同类型的 HTTP 请求方法。

  • $_POST:用于处理通过 HTTP POST 方法提交的数据。POST 方法通常用于提交表单数据,数据在请求体中传输。
  • $_GET:用于处理通过 HTTP GET 方法提交的数据。GET 方法通常用于请求数据,数据附加在 URL 中。

优势

  • POST
    • 数据安全性较高,因为数据在请求体中传输,不会显示在 URL 中。
    • 数据大小没有限制(取决于服务器配置)。
    • 适合提交敏感数据,如密码等。
  • GET
    • 数据安全性较低,因为数据会显示在 URL 中,容易被截获。
    • 数据大小有限制(通常为 2KB 到 8KB,具体取决于服务器配置)。
    • 适合用于请求数据,如搜索查询等。

类型

  • $_POST$_GET 都是 PHP 超全局数组,可以存储多种类型的数据,包括字符串、数组、对象等。

应用场景

  • POST
    • 表单提交,如用户注册、登录等。
    • 文件上传。
    • 大数据传输。
  • GET
    • 搜索查询。
    • 分页请求。
    • 链接分享。

问题分析

如果 $_POST 可以工作,但 $_GET 不能,可能是以下原因:

  1. 请求方法不正确:确保客户端发送的是 GET 请求,而不是 POST 请求。
  2. URL 参数缺失:确保 GET 请求的 URL 中包含所需的参数。
  3. 服务器配置问题:某些服务器配置可能限制了 GET 请求的处理。
  4. 代码逻辑问题:检查 PHP 代码中是否有逻辑错误,导致 $_GET 无法正常工作。

解决方法

  1. 检查请求方法: 确保客户端发送的是 GET 请求。可以通过浏览器的开发者工具(如 Chrome 的 DevTools)查看请求方法。
  2. 检查请求方法: 确保客户端发送的是 GET 请求。可以通过浏览器的开发者工具(如 Chrome 的 DevTools)查看请求方法。
  3. 检查 URL 参数: 确保 GET 请求的 URL 中包含所需的参数。
  4. 检查 URL 参数: 确保 GET 请求的 URL 中包含所需的参数。
  5. 检查服务器配置: 确保服务器配置没有限制 GET 请求的处理。可以查看服务器的配置文件(如 Apache 的 .htaccess 或 Nginx 的配置文件)。
  6. 检查代码逻辑: 确保 PHP 代码中没有逻辑错误,导致 $_GET 无法正常工作。
  7. 检查代码逻辑: 确保 PHP 代码中没有逻辑错误,导致 $_GET 无法正常工作。

参考链接

通过以上步骤,应该能够解决 $_POST 可以工作,但 $_GET 不能的问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • PHPPOSTGET的区别

    HTML5学堂:在JavaScript当中,存在“getpost方法的区别”这一辨析知识。其实getpost是向服务器端请求/提交数据的两种方式。...对于PHP语言,也同样存在着这样两种方法,对于不同的提交方式,也会有两个不同的全局变量来接收数据。...$_POST和$_GET有何作用 PHP中有$_POST和$_GET两个超级全局变量,两个都可以用作向服务器发送请求,但是这两者有一些区别。...首先,POST请求只能从表单发出,而GET请求可以打包为URL。另外,GET请求也可以并且通常都用于提交表单数据。 GET主要用于从服务器端获取数据而不影响服务器上的任何其他方面。...对于少量的数据,GET非常有用,可以直接在URL中向服务器发送数据。与POST的另一个不同之处在于GET适用于发送少量的数据。

    1.7K50

    GitHub可以不独立,不能委身微软?

    如此诚意的微软行动,并没有得到巨硬十足的支持。...GitHub本是独立、客观和第三方的开源平台,微软之外,Google、Facebook和亚马逊都是其中“大客户”,收入微软囊中后,无差别开放已经失去了实际意义。...虽然Gitlab也是用的微软Azure云,似乎这一点并没有影响开发者的步伐。 也没更好选择 不过虽然看起来一片呜呼哀哉,实际也有一些支持或看好的观点。...微软拥有ICML、NIPS、ICCV、ECCV和CVPR等顶会的管理系统,并没有让这些顶会失去独立性,担心GitHub失去独立性有点杞人忧天。...迅速有人指出,Google收购的开源社区,很容易走上凉凉的历史轨迹。 而且也涉及垄断问题。

    44140

    php 利用socket发送GETPOST请求的实例代码

    今天给大家带来的是如何利用socket发送GETPOST请求。我借用燕十八老师封装好的一个Http类给进行说明。   ...在日常编程中相信很多人和我一样大部分时间是利用浏览器向服务器提出GETPOST请求,那么可否利用其它方式提出GET,POST请求呢?答案必然是肯定的。...php interface Proto { // 连接url function conn($url); //发送get查询 function get(); // 发送post...- get(); print_r($response);   返回值为信息,可以对响应信息进行进一步处理,得到自己想得到的内容。...以上就是php 利用socket发送GETPOST请求的实例代码的详细内容,更多关于php 发送GETPOST请求的资料请关注ZaLou.Cn其它相关文章!

    92130

    PHP模拟发送POST请求之四、加强file_get_contents()发送POST请求

    使用了笨重fsockopen()方法后,我们开始在PHP函数库里寻找更简单的方式来进行POST请求,这时,我们发现了PHP的文件函数也具有与远程URL交互的功能。... [, resource $context [, int $offset [, int $maxlen ]]]] ) 我们发现它还有其他可选参数,我们可以通过这些参数的设置,在发送网页请求的同时,POST...通过file_get_contents发送POST请求的重点就在$context参数上面,我们用stream_context_create()函数设置上下文。...) )); 设置好上下文,我们通过file_get_contents()函数进行POST数据提交。...($url, false, $context); 如果您觉得本文对您有帮助,您可以推荐或关注我,另外,如果有什么问题,可以在下方留言讨论,谢谢。

    2.1K80

    PHP引号转义(解决POSTGET,Mysql数据自动转义问题)

    今天做了一个小项目,给别人之后发现post数据被自动转义了,我郁闷了半天,我google了一下发现是PHP魔术引号在作怪。。。我煞费苦心终于找到了原因,可是怎么解决呢?百度。。。...其实都挺好的 在处理mysql和GETPOST的数据时,常常要对数据的引号进行转义操作。 PHP中有三个设置可以实现自动对’(单引号),”(双引号),\(反斜线)和 NULL 字符转转。...PHP称之为魔术引号,这三项设置分别是 magic_quotes_gpc 影响到 HTTP 请求数据(GETPOST 和 COOKIE)。不能在运行时改变。在 PHP 中默认值为 on。...文件(修改php.ini这个方法就不说了,大家可以google下) 对策二:把转义的给取消了 第一步:找到你提交的数据比如$_POST[‘content’],将其改成$content=stripslashes...($_POST[‘content’]); 第二步:以后在使用$POST[‘content’]的地方都换成$content 第三步:提交到数据库,数据库储存还是正常的:<img alt=”” width=

    2K40

    PHP面试题:HTTP中POSTGET、PUT、DELETE方式的区别

    HTTP定义了与服务器交互的不同的方法,最基本的是POSTGET、PUT、DELETE,与其比不可少的URL的全称是资源描述符,我们可以这样理解:url描述了一个网络上资源,而postget、put...get是把参数数据队列加到提交表单的action属性所指的url中,值和表单内各个字段一一对应,从url中可以看到;post是通过HTTPPOST机制,将表单内各个字段与其内容防止在HTML的head中一起传送到...action属性所指的url地址,用户看不到这个过程 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据...get传送的数据量较小,post传送的数据量较大,一般被默认不受限制,但在理论上,IIS4中最大量为80kb,IIS5中为1000k,get安全性非常低,post安全性较高 GET请求会向数据库发索取数据的请求...POST请求同PUT请求类似,都是向服务器端发送数据的,但是该请求会改变数据的种类等资源,就像数据库的insert操作一样,会创建新的内容。几乎目前所有的提交操作都是用POST请求的。

    62020

    一文搞懂$_POST和file_get_contents(“php:input”)的区别

    今天来说一说 $_POST、file_get_contents(“php://input”)和$GLOBALS[‘HTTP_RAW_POST_DATA’]的区别,这三个方法都是用来接收post请求的,但是很少有人说出他们的区别是啥...php://input 不能用于 enctype=”multipart/form-data”。...特别注意此方式在php版本低的时候,并且php.ini配置开启always_populate_raw_post_data值为On可以使用,php7之后就废弃了。...$_POST 2、PHP不能识别的Content-Type类型的时候,会将http请求包中相应的数据填入变量$HTTP_RAW_POST_DATA 3、 只有Coentent-Type不为multipart...总之: 1、如果是 application/x-www-form-urlencoded 和 multipart/form-data 格式 用 $_POST; 2、如果不能获取的时候比如 text/xml

    1.3K20

    21-物联网开发终端管理篇-安装PHP,测试GET,POST接口(.Windows系统)

    view=msvc-170 2,把安装包放到服务器电脑上,双击安装就可以 下载PHP文件 1,可以自己下载,也可以直接使用我下载好的 https://windows.php.net/download...php     $username = $_GET['username'];//用户提交的用户名   $password  = $_GET['password'];//用户提交的密码   echo "您提交的用户名...> http://ip地址/php_get.php?...username=yang&password=11223344 这个是中文乱码问题,写程序的时候格式是utf8格式就好了,可以使用一些编辑器写好,然后就好了 4,测试下http post 在网站根目录建一个后缀名为...> 打开测试工具 网站  http://www.ecjson.com/httpurl/ 通信方式选择 POST  路径: http://ip地址/php_post.php 参数字段:username

    89930
    领券