Re: [請益] 如何在submit後的頁面查詢前一頁的form …
感謝MrMarcus的分享~
不過我還是比較想問有沒有辦法得到該form的名稱。
我的邏輯是這樣的,假設我在query.php中有五個form,我想把五個form的名稱都用不同
的名稱,假設他是form1~form5。
而我在result.php的頁面中,假如有辦法得知資料是從什麼名字的form中得到的,
我就可以直接依照不同的form來進行不同的動作,比方說
if ("表單名稱"=="form1")
{
// 進行SQL Select指令A
}
if ("表單名稱"=="form2")
{
// 進行SQL Select指令B
}
//......and so on.....
我覺得這麼做的好處是可以讓變數減少,讓程式變精簡一點,然後系統的效果不變。
而MrMarcus同學提到的
<input type="submit" name="f1" ..... />
確實是個不錯的方法。
只是在submit的選項中,value會顯示在button上,所以我就無法讓所有的
button都顯示一樣的文字(比方說search),這點也不太符合我的需求。
所以還是比較想知道有沒有什麼方法,可以知道有沒有辦法從result.php中得到
query.php所傳過來的表單名稱。感覺上這樣會比較簡單:)
(雖然現在我好像把問題弄複雜了XD)
※ 引述《MrMarcus (請勿忘記密碼)》之銘言:
: ※ 引述《Alwayswithu (等待幸福)》之銘言:
: : 【使用平台】
: : PHP+MySQL
: : 【狀況】
: : 我希望寫一個頁面(假設他叫query.php),
: : 裡面可以有很多種不同的查詢方式(所有有很多不同的form),
: : 然後我會把所有的查詢導到同一個頁面下(假設他叫result.php)。
: : 而這個時候,我需要有一個index來判斷該用哪一種查詢的指令。
: : 【已知方法】
: : 目前我知道的方法是在query.php使用session/cookie/hidden的input等方式,
: : 來暫存一個index,再到result.php中去接這個值來進行判斷。
: : 但我覺得這樣的方法有點笨,
: : 因為這樣變成有幾個form就要有幾個hidden的input(or session/cookie)。
: : 【我的問題】
: : 我目前用想的覺得比較好的方法應該是在result.php中直接判斷從query.php傳來
: : 的form id,再依照這個id在query.php下switch指令。
: : 但我卻一直找不到可以查詢前一頁傳過來的form id的函式,
: : (就像是javascript中的document.form.id.value的玩意兒)
: : 所以想問問大家,有沒有人知道要怎麼查詢從前一頁傳過來form id呢?
: Submit按鈕上面可以加上name屬性,送出表單的時候會把
: 這個按鈕當成一個欄位把值送出去。透過判斷是哪個submit
: 按鈕被按下,就可以判斷是哪個表單被送出:
: <form name="form1">
: ...
: <input type="submit" name="f1" ..... />
: </form>
: <form name="form2">
: ...
: <input type="submit" name="f2" ..... />
: </form>
: query.php :
: 沒辦法直接用switch來判斷,但是可以用
: if(isset($_POST['f1'])) {
: .....
: }
: 或者
: $form_id = 0;
: // 得先知道$i的上限。
: // 或者設定一個夠大的數字也行,
: // 反正找到了id就會跳出迴圈。
: for($i = 1; $i <= 10; i++) {
: if(isset($_POST['f'.$i])) {
: $form_id = $i;
: break;
: }
: }
: switch($form_id) {
: case 1:
: // Form 1 submitted.
: break;
: case 2:
: // Form 2 submitted.
: break;
: case 0:
: default:
: die('No such a form.');
: }
: 當然,在每個表單裡面放一個隱藏欄位意思也是一樣的,
: 只是submit按鈕是本來就會有的,利用這個按鈕來判斷
: 至少不用在表單裡面增加隱藏欄位。
: 用cookie的話得用一些JavaScript判斷是哪個表單被送出
: 然後把id存入cookie然後在query.php去判斷cookie值,
: 這繞太大圈了。而且還得考慮萬一使用者不吃cookie的問題。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.188.207.1
※ 編輯: Alwayswithu 來自: 203.188.207.1 (12/27 14:21)
討論串 (同標題文章)