求助:PHP頁面跳轉 丟失 $_POST 資料
PHP頁面跳轉 丟失 $_POST 資料
test.php 內容如下
PHP code
$_POST["aa"] = 111;header("Location: " ."/test1.php");exit(0);
test1.php 代碼如下
PHP code
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"]);
------解決方案--------------------
跳轉沒法傳參的
除非你用架構的那種帶傳參的是可以賦值的(不是真正的跳轉是輸出頁面)
------解決方案--------------------
header("Location:/test1.php")只是告訴瀏覽器,跳轉到test1.php.
想不通為何要這麼設計程式,未經處理資料直接提交到test1.php處理,輕鬆解決了不是。
探討
謝謝樓上三位回答。$_POST明白了一點。
請問 幕後處理的資料,如何傳回頁面?不用$_POST 用什嗎?
------解決方案--------------------
額...... 你還是瞅瞅PHP的CURL吧!