2014-11-20 94 views
-1

有兩頁(比如1和Page 2)在我的項目,可以提交一個表單到第三頁。 我需要根據這兩頁中的哪一頁提交表單,以不同的方式組合第三頁。確定將表單提交給當前頁面的頁面?

問:在第三頁的情況下(從第1頁第2頁或導航),我怎麼能確定哪些頁面(第1頁出和PAG2的)提交表單?

+0

使用的'isset()函數',並添加一個關鍵參考每個。 – 2014-11-20 17:33:24

回答

2

您可以使用HTTP引用,但因爲它是由客戶端進行控制這可能是不可靠的。瀏覽器可以配置爲不發送引用者,在這種情況下,表單將會中斷。

最可靠的選擇是明確發送當前頁面中的隱藏字段在您的形式。你可以得到當前頁面的名稱是這樣的:

$current_page = basename($_SERVER['PHP_SELF']); 

然後,在你的HTML:

<input type="hidden" name="last_page" value="<?php echo $current_page; ?>"> 

如果你擔心用戶修改隱藏字段,你可以在存儲這個值一個會話變量。

+0

'<?='假設OP的短打開標籤設置/當然;)有些不知道這些。否則OP將需要執行'<?php echo'。 – 2014-11-20 17:37:33

+0

頁面的$ _POST值如何?發件人頁面的整個網址?我的意思是,接收方頁面將在$ _POST數組中獲得的值。 – jvktr 2014-11-20 18:02:47

+0

我測試了它,發現它是發件人頁面文件名的名稱。非常感謝/ u/nullability :) – jvktr 2014-11-20 18:11:01

0

$_SERVER["HTTP_REFERER"]說明你以前的頁面。所以,如果你提交表單你現在可以抓住它

0

我建議$_SERVER["HTTP_REFERER"]那麼你可以使用parse_url分析所有URL部分