Heim > Backend-Entwicklung > PHP-Tutorial > PHP表单使用POST提交数据在结果页面收不到任何数据。

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

WBOY
Freigeben: 2016-07-06 13:53:18
Original
1020 Leute haben es durchsucht

刚开始学习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

<code>




<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>

</code>
Nach dem Login kopieren
Nach dem Login kopieren

下面是 Test13_welcom.php

<code>

<?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"]; ?>


</code>
Nach dem Login kopieren
Nach dem Login kopieren

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

<code>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</code>
Nach dem Login kopieren
Nach dem Login kopieren

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

<code>variables_order = "GPCS"
enable_post_data_reading = True</code>
Nach dem Login kopieren
Nach dem Login kopieren

回复内容:

刚开始学习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

<code>




<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>

</code>
Nach dem Login kopieren
Nach dem Login kopieren

下面是 Test13_welcom.php

<code>

<?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"]; ?>


</code>
Nach dem Login kopieren
Nach dem Login kopieren

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

<code>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</code>
Nach dem Login kopieren
Nach dem Login kopieren

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

<code>variables_order = "GPCS"
enable_post_data_reading = True</code>
Nach dem Login kopieren
Nach dem Login kopieren

我遇到过这个问题。前提是调试用的是PhpStorm内置服务器的话。那你就看下面。如果不是,那就当我没说。
首先 phpinfo();
PhpStorm如何下
PHP表单使用POST提交数据在结果页面收不到任何数据。
XAMPP或者自行搭建的PHP环境,并且用Apache

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

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

<code class="php"><?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"]; ?>


</code>
Nach dem Login kopieren

form 表单action 地址不对

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage