本文主要為大家帶來一篇解決form中action屬性後面?傳遞參數 擷取不到的問題。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望能協助到大家。
如下所示:
$p_id = $_REQUEST['p_id'];echo "<h1>您將更新商品編號為<span>$p_id</span>的商品資訊 <a href='listproduct.php'>查看所有</a></h1><form action='updateproduct.do.php?p_id=$p_id' method='get'> 商品名稱:<input type='text' name='p_name' value='".$result_name2["name"]."'>商品名稱小於10個字<br><br> 商品價格:<input type='text' name='p_price' value='".$result_price2["price"]."'>價格大於0且小於99999.99(保留兩位小數)<br><br> 圖片:<input type='text' name='p_pic' value='".$result_pic2["pic"]."'>請輸入圖片src<br><br> 生產日期:<input type='text' name='p_date' value='".$result_onShelfDate2["onShelfDate"]."'>格式:yyyy-mm-dd<br><br> 詳細資料:<input type='text' name='p_detail' value='".$result_detail2["detail"]."'>詳細資料請保持在50字以內<br><br> <button>提交</button></form>";?>
如上代碼,想要在點擊button提交跳轉到updateproduct.do.php的同時,將本頁擷取的$p_id,通過url值傳到下個頁面裡。可是每次點擊button後 地址欄裡都只有 “ updateproduct.do.php?p_name=11&p_price=22&p_pic=33&p_date=44&p_detail=55 ”
p_id怎麼都傳不過去。折騰了半天,其實原因很簡單,(以下為個人理解,但是問題解決了)在method=get下,form表單只接收表單元素”name“屬性和相應的”value“。想要通過在action中自己寫?的形式傳值,method的值必須是=post,即代碼中第二行改為:
<form action='updateproduct.do.php?p_id=$p_id' method='post'>
改成這樣就可以了!