文档章节

PHP form表单post提交 使用var_dump($_POST)获取不到数据 可能是哪里出问题?

 平凡之路2016
发布于 2016/10/10 15:41
字数 694
阅读 89
收藏 0

作者:木子林夕 链接: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服务器,相应的表单数据也可以正常接收了.

本文转载自:https://www.zhihu.com/question/41113449/answer/120891290

粉丝 0
博文 3
码字总数 209
作品 0
武汉
私信 提问
php获取输入流

uc中的用到的代码(在api/uc.php)代码: $post = xmlunserialize(fileget_contents('php://input')); php手册(http://cn.php.net/manual/zh/wrappers.php.php)说明: php://input allows ......

wangtaotao
2011/02/16
0
0
从零开始学 Web 之 Ajax(二)PHP基础语法

大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:http://www.cnblogs.com/lvonve/ CSDN...

Daotin
2018/07/16
0
0
页面传入后台出现汉字乱码解决办法

页面传入后台出现汉字乱码解决办法 一、如果使用iframe,将参数传入后台处理,如果出现汉字乱码 页面中的iframe: <iframe id="UserInfoIframe" name="UserInfoIframe" style="display: none......

writeademo
2017/11/02
66
0
form表单提交,后台获取不到参数值问题(前题是页面参数正常没有错误)

1、form表单post提交,提交参数过多,获取不到参数值 问题:在一个form表单中,引入过多的页面,需要提交的参数过多,此时后面一定参数的值后台是获取不到的 解决:在form标签添加enctype='...

流云飘雪dyg
2017/10/24
1K
0
php://input和php://output

php://input 简介 php://input 是个可以访问请求的原始数据的只读流。 POST 请求的情况下,最好使用 php://input 来代替 $HTTPRAWPOST_DATA(原生的post数据),因为它不依赖于特定的 php.in...

echojson
04/05
125
0

没有更多内容

加载失败,请刷新页面

加载更多

STM32进阶之串口环形缓冲区实现

队列的概念 在此之前,我们来回顾一下队列的基本概念: 队列 (Queue):是一种先进先出(First In First Out ,简称 FIFO)的线性表,只允许在一端插入(入队),在另一端进行删除(出队)。 队列...

杰杰1号
8分钟前
2
0
设计模式-建造者模式

建造者模式 定义 将一个复杂对象的构建和它的表示分离,使得同样的构建过程创建出不同的表示。这句话理解起来优点抽象,我们打个简单的比方吧,中国人都喜欢做菜,做菜的时候后会放很多配料...

木本本
11分钟前
4
0
017、xml版本代码生成器配置

1、在pom.xml文件中增加mybatis-generator-maven-plugin插件 <build> <plugins> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>......

北岩
23分钟前
3
0
用jQuery-Easy-UI编写注册页面

本文转载于:专业的前端网站➮用jQuery-Easy-UI编写注册页面 1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="UTF-8"> 6 <meta name="viewport" content=......

前端老手
32分钟前
2
0
Git ssh配置

生成密钥对 ssh-keygen -t rsa -C "email@email.com"邮箱替换自己邮箱在地址C:\Users\账户\.ssh下,id_rsa、id_rsa.pub两个文件复制文件id_rsa.pub内容到github\gitlab的Settings-> SSH ......

JUKE
39分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部