Re: [請益] 如何在submit後的頁面查詢前一頁的form …

看板PHP作者 (等待幸福)時間16年前 (2007/12/27 14:20), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/9 (看更多)
感謝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)
文章代碼(AID): #17SqGovt (PHP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 4 之 9 篇):
文章代碼(AID): #17SqGovt (PHP)