PHP頁面跳轉 丟失 $_POST 資料

來源:互聯網
上載者:User
求助: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吧!
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.