|
|
|
การส่งค่าในฟอร์ม PHP ไม่มีค่าส่งมาลองส่งหลายแบบแล้ว |
|
|
|
|
|
|
|
Code (PHP)
<input name="btnSubmit" type="submit" class="form-submit" onClick="window.location='frmUploadFaq.php?Action=Save&id=<?=$_POST["txtid"]?>'" />
เปลี่ยน Type จาก button เป็น submit ลองดู
|
|
|
|
|
Date :
2012-06-15 10:17:17 |
By :
kamuro |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มี 2 ประเด็นครับ
1 ถ้าคุณต้องการส่งข้อมูลจากฟอร์มแบบ Submit ธรรมดา นั่นหมายความว่าคุณต้งกำหนด Action ไปยังไฟล์ที่คุณต้องการส่งข้อมูลไป ซึ่งในที่นี้คุณยังไม่มี แต่ถ้าคุณ.. (ข้อต่อไป)
2 ถ้าคุณต้องการส่งข้อมูลในฟอร์มนี้แบบใช้ปุ่ม type button หรือจากการคลิกอะไรก็ตาม (OnClick) วิธีการนำข้อมูลในฟอร์มไปใส่ให้กับตัวแปรอย่างที่คุณใช้อยู่นี้ไม่ถูกต้องครับ ซึ่งถ้าเลือกวิธีส่งในข้อ 2 นี้ต้องใช้ code ทางฝั่ง Client site เข้ามาจัดการ เช่น Javascript เป็นต้น โดย
- อาจจะเขียนเป็นฟังก์ชั่นเพื่อดึงค่าจากฟอร์ม (ฟังก์ชั่นเขียนโดย Javascript) วิธีนี้น่าจะดีที่สุดนะครับในกรณีที่ฟอร์มมีข้อมูลมากๆ
- หรือใช้ Document.GetElementByID เข้ามาช่วยในการเอาค่าจาก input (Element) ต่าง ๆ ในฟอร์มเพื่อส่งไปครับ
|
|
|
|
|
Date :
2012-06-15 11:45:37 |
By :
Songkram |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้วถ้าผมทำแบบนี้ละครับ แล้วยังไม่มีค่ามาเกิดจากอะไรได้มั้งครับ
เงือนไข if ทำงานครับ
Code (PHP)
<?
include_once 'include/functions.php';
if ($_REQUEST["Action"]=="Save")
{
$strSQL = "INSERT INTO tbfaq (faqID,faqTopic,faqUrl)VALUES('".$_REQUEST["txtid"]."','".$_REQUEST["txttopic"]."','".$_REQUEST["txtdetail"]."') ";
$objQuery = mysql_query($strSQL);
}
?>
<form action="frmUploadFaq.php?Action=Save" method="post" name="form1">
<table border="0" align="center" cellpadding="0" cellspacing="0" id="id-form">
<tr>
<th width="130" valign="top">เลขที่เอกสาร :</th>
<td width="378"><input type="text" class="inp-form-error" name="txtid" /></td>
<td width="187">
<div class="error-left"></div>
<div class="error-inner">ข้อมูลสำคัญ ต้องกรอก!!!.</div> </td>
</tr>
<tr>
<th valign="top">หัวข้อปัญหา :</th>
<td><input type="text" class="inp-form" name="txttopic" /></td>
<td></td>
</tr>
<tr>
<th valign="top">รายละเอียด :</th>
<td><textarea rows="" cols="" class="form-textarea" name="txtdetail"></textarea></td>
<td></td>
</tr>
<tr>
<th>ไฟล์เอกสาร :</th>
<td><input type="file" class="file_1" name="faqUp" /></td>
<td>
<div class="bubble-left"></div>
<div class="bubble-inner">PDF 5MB max per file</div>
<div class="bubble-right"></div> </td>
</tr>
<th> </th>
<td valign="top">
<input name="btnSubmit" type="submit" class="form-submit" />
<input name="btnRst" type="button" class="form-reset" onClick="window.location='frmUploadFaq.php'"/></td>
<td></td>
</tr>
</table>
</form>
|
|
|
|
|
Date :
2012-06-15 13:38:41 |
By :
MrAeker |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองเพิ่ม id="" ให้กับ input ดูนะค่ะ
เช่น <input type="text" class="inp-form-error" name="txtid" id="txtid" />
ทำกับทุก ๆ input ค่ะ
ลองดูค่ะ
|
|
|
|
|
Date :
2012-06-15 13:54:02 |
By :
s_ting |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Action น่ะถูกแล้วครับ แต่ปัญหาคือ... การส่งค่าแบบนี้ frmUploadFaq.php?Action=Save ไม่ถูกครับ
ถ้าคุณต้องการส่งข้อมูลโดยการคลิก (input type="button") โดยที่ไม่เขียนฟังก์ชั่น ก็ต้องทำแบบนี้ครับ
Code (PHP)
<input type="button" id="btn" name="btn" value="Send data"
OnClick="Javascript:window.location='page2.php?dat1=' // ตรงนี้เป็นการกำหนด event OnClick เพื่อให้เปิดไฟล์ที่ชื่อ page2.php
+ document.getElementById('dat1').value + '&dat2=' // เอาค่าจาก element โดยใช้ id = dat1
+ document.getElementById('dat2').value "/> // เอาค่าจาก element โดยใช้ id = dat2
โดยสามารถเพิ่มข้อมูลได้ตามต้องการ จากตัวอย่างผมส่งไปแค่ 2 ค่า
แต่วิธีนี้จะเป็นการส่งแบบ GET นะครับ ถึงแม้เราจะระบุในฟอร์มว่าเป็น POST ก็ตาม
วิธีที่ผมเขียนนี้เป็นวิธีแบบง่ายๆ เพื่อการส่งค่าจาก element ใดก็ได้ในหน้าจอ ไม่จำกัดเฉพาะในฟอร์มเท่านั้น (ต้องกำหนด id ของทุกๆ element)
ความจริงการส่งค่าแบบนี้ไม่ค่อยจำเป็นเท่าไหร่ครับ ผมเอาไว้ใช้ตอนที่ส่งข้อมูลแบบเล็กๆน้อยๆ แบบรวดเร็วเท่านั้น
ที่น่าสนใจก็คือ เราสามารถนำค่าจาก element ใดๆก็ได้มาใช้ได้ทันที เหมาะกับการคำนวนแบบทันที โดยไม่ต้อง refresh หน้าจอ
เช่น การคำนวนค่าจาก input box แล้วแสดงผลลัพธ์ไปที่อีก input box
Code (PHP)
ที่ต้องทำความเข้าใจให้ดีก็คือ document.getElementById('dat2').value
|
|
|
|
|
Date :
2012-06-15 15:22:04 |
By :
Songkram |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?
include_once 'include/functions.php';
if ($_REQUEST["Action"]=="Save")
{
$strSQL = "INSERT INTO tbfaq (faqID,faqTopic,faqUrl)VALUES('".$_REQUEST["txtid"]."','".$_REQUEST["txttopic"]."','".$_REQUEST["txtdetail"]."') ";
//$objQuery = mysql_query($strSQL);
echo $strSQL;
$fileuploadType= explode('.', $_FILES["fileUp"]["name"]);
if($_FILES["fileUp"]["name"]!="" && $fileuploadType[1]=="pdf" && $_FILES["fileUp"]["size"] < 5242880 ){
$path = "pdf/"; //สร้าง folder สำหรับเก็บไฟล์ PDF
$fileName = date('YmdHis');
$fileuploadName = $fileName.".".$fileuploadType[1];
$upFile = $path."".$fileuploadName;
@copy($_FILES["fileUp"]["tmp_name"], $upFile);
//echo $_FILES["fileUp"]["name"];
echo '<BR>created file in pdf folder name '.$fileuploadName;
}else{
echo '<BR>Incorrect!! Type of file is '.$fileuploadType[1];
}
}
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<form action="frmUploadFaq.php?Action=Save" method="post" name="form1" id="form1" enctype="multipart/form-data">
<table border="0" align="center" cellpadding="0" cellspacing="0" id="id-form">
<tr>
<th width="130" valign="top">เลขที่เอกสาร :</th>
<td width="378"><input type="text" class="inp-form-error" name="txtid" id="txtid"/></td>
<td width="187">
<div class="error-left"></div>
<div class="error-inner">ข้อมูลสำคัญ ต้องกรอก!!!.</div> </td>
</tr>
<tr>
<th valign="top">หัวข้อปัญหา :</th>
<td><input type="text" class="inp-form" name="txttopic" id="txttopic" /></td>
<td></td>
</tr>
<tr>
<th valign="top">รายละเอียด :</th>
<td><textarea rows="" cols="" class="form-textarea" name="txtdetail" id="txtdetail" ></textarea></td>
<td></td>
</tr>
<tr>
<th>ไฟล์เอกสาร :</th>
<td><input type="file" class="file_1" name="fileUp" id="fileUp" /></td>
<td>
<div class="bubble-left"></div>
<div class="bubble-inner">PDF 5MB max per file</div>
<div class="bubble-right"></div> </td>
</tr>
<th> </th>
<td valign="top">
<input name="btnSubmit" type="submit" class="form-submit" value="submit" />
<input name="btnRst" type="button" class="form-reset" onClick="window.location='frmUploadFaq.php'"/></td>
<td></td>
</tr>
</table>
</form>
หลังการทำทดสอบก็แสดงค่าออกมานี่ค่ะ ลองเอาโค้ดไปเทสต์อีกครั้งแล้วกันค่ะ
|
ประวัติการแก้ไข 2012-06-15 16:27:44 2012-06-15 16:29:27 2012-06-15 16:31:45
|
|
|
|
Date :
2012-06-15 15:48:28 |
By :
s_ting |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณ คุณ NOOM สำหรับคำแนะนำครับ ไม่ค่อยทำเว็บงงเยอะเลย
ขอบคุณ คุณ TinG สำหรับโค๊ดและลองเทสให้ครับ
ตามคุณTinG ได้แล้วครับเรามันอ่อนเอง ดูไม่ดีเองครับ เพราะตอนลองส่งค่า
ตัวแปร แล้วลอง echo มันไม่โชว์ค่า เลยลองส่งค่าแบบ OnClick ดูก็ยังไม่โชว์อีก เลยงง
|
|
|
|
|
Date :
2012-06-16 09:23:27 |
By :
MrAeker |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|