php 无法获取post的数据

弧剑飘香 2016-10-25 04:50:17
前台代码:
 <form action="results.php" method="post">
Choose Search Type:<br/>
<select name="searchtype">
<option value="author">Author</option>
<option value="title">title</option>
<option value="isbn">ISBN</option>
</select>
<br />
Enter Search Trem:<br />
<input type="text" name="searchterm" size="40" />
<br />
<input type="submit" name="submit" value="Search" />
</form>

后台代码:
$searchtype = $_POST['searchtype'];
$searchterm = trim($_POST['searchterm']);

如题,当form表单以post方式提交时,后台获取不到传递的数据。但如果把post换成get,后台就可以正常获取数据。不知什么原因?
F12审查元素,点submit后的的信息如下:
Request URL:http://localhost:63342/PHP/results.php
Request Method:POST
Status Code:200 OK
Remote Address:127.0.0.1:63342
Response Headers
view source
access-control-allow-credentials:true
access-control-allow-headers:accept
access-control-allow-headers:content-type
access-control-allow-headers:origin
access-control-allow-headers:authorization
access-control-allow-origin:http://localhost:63342
content-length:2106
Content-type:text/html; charset=UTF-8
server:PhpStorm 2016.2.1
vary:origin
X-Powered-By:PHP/7.0.12
Request Headers
view source
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate, br
Accept-Language:zh-CN,zh;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Content-Length:44
Content-Type:application/x-www-form-urlencoded
Cookie:Phpstorm-e596b797=07c19a4d-d2ed-4587-97d7-d472f4a91180
Host:localhost:63342
Origin:http://localhost:63342
Referer:http://localhost:63342/PHP/04220957test.php?_ijt=a553en28un9o83crao16obik2u
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36
Form Data
view source
view URL encoded
searchtype:author
searchterm:T
submit:Search

看样子是正常post数据成功了,但为啥后台获取不到呢
...全文
373 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
爱码小电驴 2019-01-21
  • 打赏
  • 举报
回复
楼主解决这个问题了吗?我的也遇到这样的问题
弧剑飘香 2016-10-25
  • 打赏
  • 举报
回复
引用 7 楼 fdipzone 的回复:
估计是你php配置问题,试试重新安装看看。
好,我再查查吧,多谢~
弧剑飘香 2016-10-25
  • 打赏
  • 举报
回复
引用 8 楼 xuzuning 的回复:
只有 IDE 调试的时候会动态分配端口号,正式的 web 服务器是不会变更端口号的
我改用Apache再运行网站时确实可以了,奇怪之前用phpstorm时为啥不行。谢谢!
xuzuning 2016-10-25
  • 打赏
  • 举报
回复
只有 IDE 调试的时候会动态分配端口号,正式的 web 服务器是不会变更端口号的
傲雪星枫 2016-10-25
  • 打赏
  • 举报
回复
估计是你php配置问题,试试重新安装看看。
弧剑飘香 2016-10-25
  • 打赏
  • 举报
回复
引用 5 楼 xuzuning 的回复:
Request URL:http://localhost:63342/PHP/results.php 什么网站会弄这么难记的端口号?
这是动态分配的端口号,我从浏览器访问本地主机时随机生成的,应该和这个没关系吧
xuzuning 2016-10-25
  • 打赏
  • 举报
回复
Request URL:http://localhost:63342/PHP/results.php 什么网站会弄这么难记的端口号?
弧剑飘香 2016-10-25
  • 打赏
  • 举报
回复
引用 2 楼 xuzuning 的回复:
用 PhpStorm 调试的吧?
你从网站上运行就没有问题了

是在网站上运行的,跳转页面返回:
就是不能把表单的值以post方式传过来
弧剑飘香 2016-10-25
  • 打赏
  • 举报
回复
引用 1 楼 qq_34543448 的回复:
这个不好说。 换$_REQUEST或者$_GET试试,如果可以的话,可能你php.ini配置有问题 enable_post_data_reading 为 On
当表单提交方式为get时,后台可以通过$_REQUEST或$_GET得到数据,但只要表单以post方式提交,后台通过$_REQUEST或$_POST都不能收到。已将enable_post_data_reading改为On,依然不行,谢谢!
xuzuning 2016-10-25
  • 打赏
  • 举报
回复
用 PhpStorm 调试的吧? 你从网站上运行就没有问题了
qq_34543448 2016-10-25
  • 打赏
  • 举报
回复
这个不好说。 换$_REQUEST或者$_GET试试,如果可以的话,可能你php.ini配置有问题 enable_post_data_reading 为 On

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧