สอบถามเรื่องการส่งค่า ทั้ง POST และ GET ครับ
คือ ผมต้องการส่งค่าทั้งแบบ POST และ GET พร้อมกันสามารถทำได้ไหม ครับ
คือ code ผมประมาณนี้ ครับ
คือ ผมต้องการค่า sp_id กับ repair_num ครับ (คือ อยากทำคล้ายๆเว็บขายของครับ โดยจะมีชื่อสินค้า ช่องให้กรอกจำนวน แล้วกดปุ่มซื้อครับ แต่ไม่รู้จะส่งค่า idสินค้า กับ จำนวนที่เรากรอกไปอย่างไงครับ)
โดยค่า sp_id จะส่งค่ามาเป็น GET ส่วน repair_num จะส่งค่ามาในรูปแบบform คือแบบ 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">
<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
หรือ มีวิธีอื่น แนะนำครับ
ขอบคุณครับบบบบบบบบบบ
*** ลองดูแบบนี้นะครับ
เพิ่มเติมส่วนนี้เข้าไปใน 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>
ไม่ได้ครับ แต่จะมีประโยชน์อะไรครับ ที่จะส่งทั้ง 2 แบบ พร้อมกัน (หาเหตุผลไม่เจอ)
ถ้าโจทย์ต้องการว่า หน้าที่รับค่า อาจจำเป็นต้องรับข้อมูลที่มาจาก GET หรือ POST ก็ได้ ให้ใช้วิธีอื่นครับเช่น
$data = isset($_GET['data']) ? $_GET['data'] : $_POST['data'];
หมายถึงตรวจสอบว่ามาจาก get หรือไม่ ถ้าไม่มี get ให้ไปรับจาก post แทน หรือ
$data = $_REQUEST['data'];
วิธีนี้ดูง่าย แต่ข้อเสียคือ ค่าที่ $_REQUEST อาจเป็น GET POST หรือ COOKIE ก็ได้
สงสัยผมจะตอบไม่ตรงคำถามแฮะ.....
จะนำไปพัฒนา ต่อไป ครับ
ขอบคุณมากจิงๆ ครับ