[請益] 下拉式選單傳值 用$變數失敗?

看板PHP作者 (why so serious ?)時間11年前 (2014/07/25 18:38), 11年前編輯推噓1(1014)
留言15則, 5人參與, 最新討論串1/4 (看更多)
以下是部分程式碼 <select name="p_sort" style="width: 136px"> <?php while ($row = mysql_fetch_array($result)){ echo "<option value =".$row['p_sort'].">".$row['p_sort']."</option>\n"; } ?> </select> <input type="hidden" name="p_sort" value="<?php echo $row['p_sort']; ?>"/> <input type="submit" value=" 確認新增 "/> 我的需求是把選單的值帶到下一頁 用code處理 新增進資料庫 有測試再下一頁echo post過去的選單值 沒有錯誤也沒值 (有測試value=隨便打 會有值 就是用上述變數不會) 等於是完全沒抓到選單的值 不知道是什麼樣的問題 還請教一下大家Orz... -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.230.96.128 ※ 文章網址: http://www.ptt.cc/bbs/PHP/M.1406284703.A.E6E.html ※ 編輯: Notte (61.230.96.128), 07/25/2014 18:43:30

07/25 19:11, , 1F
O.Ohtml form內的input相關物件 name相同可能都會被複寫
07/25 19:11, 1F

07/25 19:12, , 2F
一個form被真正submit到後端前,伺服器會把所有的 input物件
07/25 19:12, 2F

07/25 19:12, , 3F
匯整起來再,按照http method送給伺服器
07/25 19:12, 3F

07/25 19:13, , 4F
但只要name相同,可能瀏覽端/伺服端都會複寫或判斷錯誤
07/25 19:13, 4F

07/25 19:14, , 5F
另外我覺得你的變數或物件的命名需要讓他有意義一點
07/25 19:14, 5F

07/25 19:14, , 6F
像是 p_sort 很難看出他到底在幹嘛的
07/25 19:14, 6F

07/25 19:14, , 7F
往後維護上可能會讓你或別人花很多時間理解
07/25 19:14, 7F

07/25 20:35, , 8F
hidden 那行拿掉
07/25 20:35, 8F

07/25 21:21, , 9F
hidden 那行拿掉 +1,因為你的 p_sort 這個 name 重複了
07/25 21:21, 9F

07/25 21:21, , 10F
會導致後面這個 hidden 欄位把前面下拉選單的值覆蓋過去..
07/25 21:21, 10F

07/26 16:52, , 11F
伺服端可看php://input;避免複寫問題
07/26 16:52, 11F

07/26 16:53, , 12F
瀏覽器就不知道了...一般還是建議你不要重複名稱比較好..
07/26 16:53, 12F

07/26 18:08, , 13F
謝謝各位指教 p_sort 想說是產品(p) 分類(sort) =.="
07/26 18:08, 13F

07/26 18:09, , 14F
但是如果我hidden那行拿掉 這樣怎麼送到下一頁呢?
07/26 18:09, 14F

07/26 18:13, , 15F
喔喔喔 我剛剛試了一下 把hidden的name改掉就行了! 謝謝大家
07/26 18:13, 15F
文章代碼(AID): #1JqZEVvk (PHP)
文章代碼(AID): #1JqZEVvk (PHP)