PHP form表单post提交 使用var_dump($_POST)获取不到数据 可能是哪里出问题?
2016-10-10 00:00
836 查看
作者:木子林夕 链接:https://www.zhihu.com/question/41113449/answer/120891290 来源:知乎 著作权归作者所有,转载请联系作者获得授权。
新手,最近在学习PHP,WAMP环境下碰到了同样的问题,装完PhpStorm后写了个表单页面和一个后台打印$_POST的测试程序,POST方法接收不到数据,GET和REQUEST可以,另外如果把项目直接放在Apache服务器的工作目录下,然后在地址栏输入localhost是可以正常运行的。
前面有答主说到了端口问题,经过查找资料和同学讨论,发现确实是端口问题,我就再总结一下这个问题,最后补充个修改方法。
环境说明 WAMP+PhpStorm,我的Apache服务器工作目录更改为D:\www(默认的根目录是htdocs),测试项目在F:\test下。
问题分析 :一个简单的表单页面,提交数据后,var_dump($_POST)为空 如果注意观察此时的URL,会发现在PhpStorm中打开浏览器使用的服务端口号是63342(URL是localhost:63342/这样的形式) 因此问题的原因在于:PhpStorm默认使用的是自带的内部服务器,这个服务器使用63342端口,而且服务器内部有问题,导致POST方法异常;而如果把项目放在Apache服务器的工作目录下,在地址栏输入localhost,此时使用的是Apache服务器,默认端口号为80,Apache服务器可以正常运行程序。
解决方法: 既然PhpStorm内部服务器有问题,那解决方法就是想办法不使用内部服务器。有两种方法: 1.将项目创建在Apache服务器的工作目录下,每次运行时在浏览器地址栏直接输入localhost地址
2.如果仍希望通过从PhpStorm中打开浏览器调试程序,可以通过更改配置实现:
(1)首先将项目转移到Apache服务器工作目录下(我这里是D:\www)
(2)然后在PhpStorm中,依次找到File->Settings->Build, Execution, Deployment->Deployment,初始是空的,点击绿色的加号添加本地服务器,名字localhost就好了,Type选择In place: 创建完成后,右侧Connection标签下默认的设置已经将服务器配置为80端口下的Apache服务器: Mappings标签下的Local path设置成Apache服务器的工作根目录:
此时从PhpStorm中点击浏览器,访问的URL已经没有了63342端口这个字段,而是使用了本地Apache服务器,相应的表单数据也可以正常接收了.
新手,最近在学习PHP,WAMP环境下碰到了同样的问题,装完PhpStorm后写了个表单页面和一个后台打印$_POST的测试程序,POST方法接收不到数据,GET和REQUEST可以,另外如果把项目直接放在Apache服务器的工作目录下,然后在地址栏输入localhost是可以正常运行的。
前面有答主说到了端口问题,经过查找资料和同学讨论,发现确实是端口问题,我就再总结一下这个问题,最后补充个修改方法。
环境说明 WAMP+PhpStorm,我的Apache服务器工作目录更改为D:\www(默认的根目录是htdocs),测试项目在F:\test下。
问题分析 :一个简单的表单页面,提交数据后,var_dump($_POST)为空 如果注意观察此时的URL,会发现在PhpStorm中打开浏览器使用的服务端口号是63342(URL是localhost:63342/这样的形式) 因此问题的原因在于:PhpStorm默认使用的是自带的内部服务器,这个服务器使用63342端口,而且服务器内部有问题,导致POST方法异常;而如果把项目放在Apache服务器的工作目录下,在地址栏输入localhost,此时使用的是Apache服务器,默认端口号为80,Apache服务器可以正常运行程序。
解决方法: 既然PhpStorm内部服务器有问题,那解决方法就是想办法不使用内部服务器。有两种方法: 1.将项目创建在Apache服务器的工作目录下,每次运行时在浏览器地址栏直接输入localhost地址
2.如果仍希望通过从PhpStorm中打开浏览器调试程序,可以通过更改配置实现:
(1)首先将项目转移到Apache服务器工作目录下(我这里是D:\www)
(2)然后在PhpStorm中,依次找到File->Settings->Build, Execution, Deployment->Deployment,初始是空的,点击绿色的加号添加本地服务器,名字localhost就好了,Type选择In place: 创建完成后,右侧Connection标签下默认的设置已经将服务器配置为80端口下的Apache服务器: Mappings标签下的Local path设置成Apache服务器的工作根目录:
此时从PhpStorm中点击浏览器,访问的URL已经没有了63342端口这个字段,而是使用了本地Apache服务器,相应的表单数据也可以正常接收了.
相关文章推荐
- PHP form表单post提交 $_POST接收不到数据
- form enctype:"multipart/form-data",method:"post" 提交表单,后台获取不到数据
- multipart/form-data post 方法提交表单,后台获取不到数据
- PHP Post获取不到非表单数据的问题解决办法
- form enctype:"multipart/form-data",method:"post" 提交表单,后台获取不到数据
- PHP无法获取表单post方式提交的数据问题
- multipart/form-data post 方法提交表单,后台获取不到数据
- php表单提交时获取不到post数据的解决方法
- PHP 使用POST 获取不到部分数据问题
- 使用$(form).serializeArray()提交表单,获取不到表单值的问题
- php表单提交时获取不到post数据的解决方法
- 在phpstorm中利用post方法提交form表单后,在响应页面获取不到数据的解决办法
- 关于在用curl函数post网页数据时,遇上表单提交 type为submit 类型而且没有name和id时可能遇到的问题及其解决方法
- 关于phpstorm post表单数据无法获取的问题
- post表单提交后,后台获取数据为null 大量数据的时候会出现这个问题
- 使用serialize()提交form表单数据后台为null问题解决
- 使用百度ueditor时提交表单获取不到数据
- php使用CURL模拟GET与POST向微信接口提交及获取数据的方法
- ionic使用常见问题(八)——PHP无法获取$http的post数据
- php $_POST获取html表单form数据教程