首页 > PHP表单使用POST提交数据在结果页面收不到任何数据。

PHP表单使用POST提交数据在结果页面收不到任何数据。

刚开始学习PHP,在学到表单提交数据的时候遇到困难,求指教。

我是看这两个地方的教程学的: RUNOOB、W3C
问题是这样的,在index.php页面中有一个表单,使用post提交数据然后跳转到Test13_welcome.php页面并在这个页面拿到数据,但是照着网上教程来看人家都是可以的,但是这里确实不行。详细描述如下:

系统:Mac OSX 10.11.5
IDE:PHPStorm 2016.1.2
PHP:7.0.7
浏览器:Safari、Chorme 都试了

下面是 index.php

<html>
<head>
</head>
<body>

<form action="Test13_welcome.php" method="post" enctype="application/x-www-form-urlencoded">
    Name: <input type="text" name="name"><br>
    E-mail: <input type="text" name="email"><br>
    <input type="submit" name="submit">
</form>
</body>
</html>

下面是 Test13_welcom.php

<html>
<body>
<?php
var_dump($_REQUEST);
var_dump($_POST);
$a = file_get_contents('php://input', 'r');
echo $a.PHP_EOL;
echo "<br>"; ?>
Welcome :                 <?php echo $_POST["name"]; ?><br>
Your email address is :   <?php echo $_POST["email"]; ?>

</body>
</html>

运行以后随便输入几个数据,跳转后显示结果是:

array(0) { } 
array(0) { } 
name=234&email=2345&submit=%E6%8F%90%E4%BA%A4 
Welcome : 
Notice: Undefined index: name in /Users/JyHu/Dropbox/PHP/Study/Runoob/RBase/Test13_welcome.php on line 9

Your email address is : 
Notice: Undefined index: email in /Users/JyHu/Dropbox/PHP/Study/Runoob/RBase/Test13_welcome.php on line 10

可以看出是只有使用file_get_contents才能拿到数据,_REQUEST _POST 都没有数据。
但是测试使用get提交使用_GET是可以拿到的。
根据网上有的说法,下面两个php.ini的参数也是设置好的

variables_order = "GPCS"
enable_post_data_reading = True

<?php
var_dump($_REQUEST);
var_dump($_POST);
$a = file_get_contents('php://input', 'r');
echo $a.PHP_EOL;
echo "<br>"; ?>
<html>
<body>
Welcome :                 <?php echo $_POST["name"]; ?><br>
Your email address is :   <?php echo $_POST["email"]; ?>

</body>
</html>

我遇到过这个问题。前提是调试用的是PhpStorm内置服务器的话。那你就看下面。如果不是,那就当我没说。
首先 phpinfo();
PhpStorm如何下

XAMPP或者自行搭建的PHP环境,并且用Apache

原因就是内置浏览器是FastCGI模拟的没有$_POST
解决方法是PhpStorm设置到Apache环境。


form 表单action 地址不对

【热门文章】
【热门文章】