GORAGOD.com

freelance, web developer, web designer, hosting, domain name

สอบถามเรื่องการส่งค่า ทั้ง POST และ GET ครับ

คือ ผมต้องการส่งค่าทั้งแบบ POST และ GET พร้อมกันสามารถทำได้ไหม ครับ



คือ code ผมประมาณนี้ ครับ







<? while($row_spares = mysql_fetch_assoc($query_spares)) {?>
<form action="M-repair_spare_add.php" method="post">
<tr>
<td><?=$row_spares[cs_name]?></td>
<td><?=$row_spares[type]?></td>
<td><?=$row_spares[sname]?></td>
<td align="center"><input name="sprice" type="text" value="<?=$row_spares[sprice]?>" disabled="disabled" /></td>
<td><input name="repair_num" type="text" value="1" /></td>
<td align="center">
<a href="M-repair_spare_add.php?sp_id=<?=$row_spares[sp_id]?>"><input name="open" type="submit" value="เบิก" /></a>
</td>
</tr>
</form>
<? }?>








คือ ผมต้องการค่า sp_id กับ repair_num ครับ (คือ อยากทำคล้ายๆเว็บขายของครับ โดยจะมีชื่อสินค้า ช่องให้กรอกจำนวน แล้วกดปุ่มซื้อครับ แต่ไม่รู้จะส่งค่า idสินค้า กับ จำนวนที่เรากรอกไปอย่างไงครับ)

โดยค่า sp_id จะส่งค่ามาเป็น GET ส่วน repair_num จะส่งค่ามาในรูปแบบform คือแบบ POST

หรือ มีวิธีอื่น แนะนำครับ



ขอบคุณครับบบบบบบบบบบ

27 ก.ย. 2554 3 5,475


*** ลองดูแบบนี้นะครับ



เพิ่มเติมส่วนนี้เข้าไปใน Code <input type="hidden" name="sp_id" value="<?=$row_spares[sp_id]?>"/>




ตัดส่วนนี้ <a href="M-repair_spare_add.php?sp_id=<?=$row_spares[sp_id]?>"> </a>

เหลือไว้แต่ ปุ่ม ครับ 



เป็นการส่งค่าผ่าน hidden ซึ่งจะรับค่าแบบ post ครับ เพียงเท่านี้เราก็จะสามารถส่งค่า sp_id ,repair_num  

ไปยังฟอร์มที่ต้องการได้ครับ แบบการส่งแบบ post





Code สำเร็จ



<? while($row_spares = mysql_fetch_assoc($query_spares)) {?>


<form action="M-repair_spare_add.php" method="post">


<tr>


<td><?=$row_spares[cs_name]?></td>


<td><?=$row_spares[type]?></td>


<td><?=$row_spares[sname]?></td>


<td align="center">


<input name="sprice" type="text" value="<?=$row_spares[sprice]?>" disabled="disabled" /></td>


<td><input name="repair_num" type="text" value="1" /></td>


<td align="center">


<input type="hidden" name="sp_id" value="<?=$row_spares[sp_id]?>"/>


<input name="open" type="submit" value="เบิก" />


</td>


</tr>


</form>



 

#1

555++

ไม่ได้ครับ แต่จะมีประโยชน์อะไรครับ ที่จะส่งทั้ง 2 แบบ พร้อมกัน (หาเหตุผลไม่เจอ)



ถ้าโจทย์ต้องการว่า หน้าที่รับค่า อาจจำเป็นต้องรับข้อมูลที่มาจาก GET หรือ POST ก็ได้ ให้ใช้วิธีอื่นครับเช่น





$data = isset($_GET['data']) ? $_GET['data'] : $_POST['data'];



หมายถึงตรวจสอบว่ามาจาก get หรือไม่ ถ้าไม่มี get ให้ไปรับจาก post แทน หรือ



$data = $_REQUEST['data'];



วิธีนี้ดูง่าย แต่ข้อเสียคือ ค่าที่ $_REQUEST อาจเป็น GET POST หรือ COOKIE ก็ได้



สงสัยผมจะตอบไม่ตรงคำถามแฮะ.....laugh
#2

ขอบคุณครับ สำหรับคำแนะนำ ทั้งหมด ครับ



จะนำไปพัฒนา ต่อไป ครับ



ขอบคุณมากจิงๆ ครับ
#3
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 2M
^