A-AA+then

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

3,374
คือ ผมต้องการส่งค่าทั้งแบบ 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
หรือ มีวิธีอื่น แนะนำครับ

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

3 ความคิดเห็น

    *** ลองดูแบบนี้นะครับ
    
    เพิ่มเติมส่วนนี้เข้าไปใน 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
^