สอบถามเรื่องการส่งค่า ทั้ง 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 3,830


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

    

    เพิ่มเติมส่วนนี้เข้าไปใน 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 ขนาดไฟล์ไม่เกิน 1024
^