2013-04-03 116 views
0

我有一個下拉列表中的一個頁面上選擇代碼:傳遞變量從第一頁到第三頁PHP

print "Select week for season 1: <select name='Week_select'> <br>"; 

在第2頁我有

$varWeek=$_POST['Week_select']; 

然後另一個下拉列表:

print "Select a team that played season 1and week $varWeek: <select name='Team_select'><br>"; 

到目前爲止這麼好,非常感謝所有讓我這麼遠的人。

現在,當我去到3頁,我輸了$ varWeek

我看到,我要麼使用$ _GET或把它作爲隱藏。 我試過$varWeek=$_GET['Week_select']; 但沒有奏效。

我不確定如何通過它隱藏。請幫助我多瞭解一點。 提前

回答

0

更好的方法是將這些變量註冊爲會話變量。這樣他們將不會顯示在URL中,您將可以在多個頁面上訪問它們。有一個在這裏讀到:

http://www.php.net/manual/en/intro.session.php

您可以訪問/存儲這樣的會話變量:

$_SESSION['varname'] = 'value'; 

,並在另一頁上

var_dump($_SESSION['varname']); 
+0

這次會議似乎很好。 – 2013-04-04 19:50:17

+0

這屆會議的事情似乎不錯。那麼我只是在第一頁的任何地方做Session_start()?然後在提交按鈕之前告訴它$ _SESSION ['varWeek'] ='week_select'。我需要以某種方式註冊每個頁面到會話嗎?如何添加其他變量來傳送其他輸入,例如團隊,玩家。 – 2013-04-04 20:02:02

+0

不錯的閱讀,仍然無法得到我想要的。我已經發布了另一個問題[HERE](http://stackoverflow.com/questions/15962443/need-more-detail-tying-in-session-start-to-a-select-statement)作爲跟進 – 2013-04-12 03:26:58

0

非常感謝添加變量到表單中,像你說的,作爲一個隱藏字段,就像這樣:

print '<input type="hidden" name="Week_select" value="'. $_GET['Week_select'] .'" />'; 

然後處理表單的頁面上,變量將可用$_POST['Week_select']

+0

這是脆弱的HTML注入攻擊(XSS )。 – Eevee 2013-04-04 00:07:26

+0

這是真的。一個好主意是將Week值作爲一個整數傳遞,並將該變量傳遞給intval:'intval($ _ GET ['Week_select'])' – 2013-04-04 18:47:35

+0

或使用模板系統,讓您不必擔心這個問題 – Eevee 2013-04-04 23:54:30