>백엔드 개발 >PHP 튜토리얼 > 未知缘故PHP突然无法获取POST url encoded数据

未知缘故PHP突然无法获取POST url encoded数据

WBOY
WBOY원래의
2016-06-13 13:09:421029검색

未知原因PHP突然无法获取POST url encoded数据
碰到一个非常诡异的问题:
XP Pro+SP3系统。
昨天程序原本都没问题,重启过一次apache之后,发现PHP无法取得POST url encoded 数据了,但是GET和POST multipart/form-data都可以正常获取。
也就是说当

的时候,var_dump($_POST)为 array(0){};
的时候,$_POST里面才会有值。
确定浏览器发送了POST数据了,无论是谷歌火狐IE6,传统表单提交还是ajax。
也不是只部分页面出现这个问题,所有的php都不行,甚至连phpMyAdmin都无法登录了。

今天尝试了重新安装php5.2.17,重新安装apache2.2.22.0,都无法解决。
没办法,只好使用 IIS5.1 + PHP5.2.17 isapi再测试,结果这回倒可以了,但我总不好改用IIS吧……

回忆昨天重启apache后出现问题之前,好像是运行过一次php下的go-pear.bat,然后在第一个界面就直接点叉关闭了;也有可能修改了一些其他的php.ini配置;
但最后我都重新解压了原版的php,重装了apache,按说应该不太可能是他们的原因?还是操作系统出什么诡异的状况了?

哪位大侠碰到过这种问题么?我真不想重装系统……

------解决方案--------------------
先看看 enctype='application/x-www-form-urlencoded' 结果如何?


------解决方案--------------------
你可以用$_QUERST接收一下值,看是否能接收到post过来的值,至于$_POST不能接受值,应该是配置问题,可能是你php.ini中的某个参数改变导致的!试着修改一下这个参数register_global
------解决方案--------------------
探讨
不指定enctype时,默认就是"Content-Type:application/x-www-form-urlencoded"。
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.