首頁 > 後端開發 > php教程 > PHP页面跳转 丢失 $_POST 数据

PHP页面跳转 丢失 $_POST 数据

WBOY
發布: 2016-06-13 10:11:19
原創
890 人瀏覽過

求助:PHP页面跳转 丢失 $_POST 数据

PHP页面跳转 丢失 $_POST 数据

test.php 内容如下

PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->$_POST["aa"] = 111;header("Location: " ."/test1.php");exit(0);
登入後複製


test1.php 代码如下
PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->var_export($_POST);
登入後複製


在URL中 输入http://localhost/test.php 跳转到了 test1.php页面。
但是输出的 $_POST内容为空...

求助各位大侠,问题到底出在哪儿了。

------解决方案--------------------
你知道$_POST是指什么吗
------解决方案--------------------
HTTP POST 变量:$_POST
注意: 在 PHP 4.1.0 及以后版本使用。之前的版本,使用 $HTTP_POST_VARS。

通过 HTTP POST 方法传递的变量组成的数组。是自动全局变量。

这是一个“superglobal”,或者可以描述为自动全局变量。这只不过意味这它在所有的脚本中都有效。在函数或方法中不需要使用 global $_POST; 来访问它,就如同使用 $HTTP_POST_VARS 一样。

$HTTP_POST_VARS 包含着同样的信息,但是不是一个自动全局变量(注意:$HTTP_POST_VARS 和 $_POST 是不同的变量,PHP 处理它们的方式不同)。

如果设置了 register_globals 指令,这些变量也在所有脚本中可用;也就是,分离了 $_POST 和 $HTTP_POST_VARS 数组。相关信息,请参阅安全的相关章节使用 Register Globals。这些单独的全局变量不是自动全局变量。 

只有在form表单提交时,才用post在后台接收数据。
------解决方案--------------------
这样能获取到才怪,你根本就没有吧$_POST数据传递过去,找个http协议手册去看看

你可以通过url参数传递数据,test1.php用$_GET获取

PHP code
$_POST["aa"] = 111;header("Location: " ."/test1.php?aa=".$_POST["aa"]);<br><font color="#e78608">------解决方案--------------------</font><br>跳转没法传参的<br>除非你用框架的那种带传参的是可以赋值的(不是真正的跳转是输出页面)<br><font color="#e78608">------解决方案--------------------</font><br>header("Location:/test1.php")只是告诉浏览器,跳转到test1.php.<br>想不通为何要这么设计程序,原始数据直接提交到test1.php处理,轻松解决了不是。<br>
登入後複製
探讨

谢谢楼上三位回答。$_POST明白了一点。
请问 后台处理的数据,如何传回页面?不用$_POST 用什么?

------解决方案--------------------
额...... 你还是瞅瞅PHP的CURL吧!
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板