สอบถามดึงข้อมูลมาโชว์ textbox แล้วเก็บลงฐานข้อมูลครับ
ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา สอบถามดึงข้อมูลมาโชว์ textbox แล้วเก็บลงฐานข้อมูลครับ
สอบถามดึงข้อมูลมาโชว์ textbox แล้วเก็บลงฐานข้อมูลครับ
ผมดึงข้อมูลมาโชว์ที่textbox ครับ
แล้วจะให้มันเก็บลงฐานข้อมูล
ผมสามารถเขียนคำสั่งบันทึก หน้าหลักหรือหน้าที่เขียนแยกแล้วเรียกไปเก็บอีกทีได้ไหมครับ
เช่น
ผมดึงข้อมูลจากฟิล name มาโชว์
value="<?= $result['name'];?>" แล้วผมต้องการจะเก็บค่า name จากการดึงข้อมูลมาโชว์จะได้ไหมครับ
แล้วจะให้มันเก็บลงฐานข้อมูล
ผมสามารถเขียนคำสั่งบันทึก หน้าหลักหรือหน้าที่เขียนแยกแล้วเรียกไปเก็บอีกทีได้ไหมครับ
เช่น
ผมดึงข้อมูลจากฟิล name มาโชว์
value="<?= $result['name'];?>" แล้วผมต้องการจะเก็บค่า name จากการดึงข้อมูลมาโชว์จะได้ไหมครับ

คำแนะนำ และการใช้งาน
สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก
- ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
ความคิดเห็นที่
1
สอบถามอีกอย่างครับ
ผมลองทดสอบการดึงข้อมูลแล้วมาโชว์ภาษา ???? ครับ
ผลปรากฏว่า
เมื่อผมดึงมาโชว์มาเรียงแถวกัน มันกลับโชว์ ????? ภาษาไทยเพี้ยนครับ แก้หมดแล้วครับอันนี้
แต่พอผมลองดึงแบบไม่เรียงข้อมูลกลับเป็นภาษาไทยปกติ ผมเลย งง ว่ามันเป็นเพราะอะไรครับ
ช่วยแนะนำทีครับผม
ผมลองทดสอบการดึงข้อมูลแล้วมาโชว์ภาษา ???? ครับ
ผลปรากฏว่า
เมื่อผมดึงมาโชว์มาเรียงแถวกัน มันกลับโชว์ ????? ภาษาไทยเพี้ยนครับ แก้หมดแล้วครับอันนี้
แต่พอผมลองดึงแบบไม่เรียงข้อมูลกลับเป็นภาษาไทยปกติ ผมเลย งง ว่ามันเป็นเพราะอะไรครับ
ช่วยแนะนำทีครับผม

ความคิดเห็นที่
2

ที่ไม่สามารถเห็นหรืออธิบายได้

ความคิดเห็นที่
3
ขอโทดครับที่ถามแล้วทำให้ งง ครับ
ผมจะเรียงคำถามใหม่ครับ
ผมดึงข้อมูลจากฐานข้อมูลมาโชว์ได้ปกติครับ
แล้วผมต้องการที่จะบันทึกข้อมูลลงฐานข้อมูลครับ
กรอบสีแดงที่ผมดึงข้อมูลมาโชว์ครับ
![]()
ส่วนอันนี้เป็นโค๊ดที่ผมดึงข้อมูลมาโชว์แล้วผมต้องการจะบันทึกเก็บลงฐานข้อมูลครับ
พอผม insert แล้วข้อมูลไม่เข้าครับ มันเข้าแค่ค่าว่างครับ ทั้งๆที่ผมก็เซทตัวแปรถูกหมดแล้วครับ
![]()
ช่วยแนะนำทีครับผม
ผมจะเรียงคำถามใหม่ครับ
ผมดึงข้อมูลจากฐานข้อมูลมาโชว์ได้ปกติครับ
แล้วผมต้องการที่จะบันทึกข้อมูลลงฐานข้อมูลครับ
กรอบสีแดงที่ผมดึงข้อมูลมาโชว์ครับ
ส่วนอันนี้เป็นโค๊ดที่ผมดึงข้อมูลมาโชว์แล้วผมต้องการจะบันทึกเก็บลงฐานข้อมูลครับ
พอผม insert แล้วข้อมูลไม่เข้าครับ มันเข้าแค่ค่าว่างครับ ทั้งๆที่ผมก็เซทตัวแปรถูกหมดแล้วครับ
ช่วยแนะนำทีครับผม

ความคิดเห็นที่
4
การ insert แล้วข้อมูลไม่เข้าใน database ต้องไล่การทำงานตามลำดับ
หน้ารับค่า แบบนี้เป็นแนวทาง
ตัวอย่างไฟล์ dbconnect.php
1 2 3 4 5 6 7 8 9 10 11 | <?php $mysqli = new mysqli( "localhost" , "root" , "" , "test" ); /* check connection */ if (mysqli_connect_errno()) { printf( "Connect failed: %s\n" , mysqli_connect_error()); exit (); } if (! $mysqli ->set_charset( "utf8" )) { printf( "Error loading character set utf8: %s\n" , $mysqli ->error); exit (); } |
- ตรวจสอบว่ามีการเรียกใช้การเชื่อมต่อกับ database แล้วหรือไม่
1 2 3 4 | <?php session_start(); require_once ( "dbconnect.php" ); ?> |
- เข้าเงื่อนไข การรับค่าหรือไม่ เช่น ส่งค่ามา มีการการเช็คค่า และเข้าเงื่อนไขหรือไม่
1 2 3 4 5 | <?php if (isset( $_POST [ 'btn_submit' ]) && $_POST [ 'btn_submit' ]!= "" ){ echo "check submit" ; } ?> |
- ดูว่าชนิดของตัวแปรที่ส่งมา กับเงื่อนไขเป็นตัวแปรประเภทเดียวกันหรือไม่
เช่น ส่งแบบ GET ต้องเช็คที่ตัวแปร $_GET['xxxx'] หรือ ส่งแบบ POST ต้องเช็คด้วยตัวแปร $_POST
1 2 3 4 5 6 7 8 9 | <form name= "form1" method= "post" action= "" > <input type= "text" name= "data" id= "data" > <input type= "submit" name= "btn_submit" id= "btn_submit" value= "Submit" > </form> <?php if (isset( $_POST [ 'btn_submit' ]) && $_POST [ 'btn_submit' ]!= "" ){ echo "check submit" ; } ?> |
หรือ
1 2 3 4 5 6 7 8 9 | <form name= "form1" method= "get" action= "" > <input type= "text" name= "data" id= "data" > <input type= "submit" name= "btn_submit" id= "btn_submit" value= "Submit" > </form> <?php if (isset( $_GET [ 'btn_submit' ]) && $_GET [ 'btn_submit' ]!= "" ){ echo "check submit" ; } ?> |
- เช็คว่าค่าที่ส่งมา ส่งมาครบหรือไม่ รูปแบบตัวแปรหรือชนิดของตัวแปรถูกต้องหรือไม่
1 2 3 4 5 6 7 8 | <?php if (isset( $_POST [ 'btn_submit' ]) && $_POST [ 'btn_submit' ]!= "" ){ echo "<pre>" ; print_r( $_POST ); // ตัวแปร POST ส่งอะไรมาบ้าง ส่งมาครับไหม print_r( $_GET ); // ตัวแปร _GET ส่งอะไรมาบ้าง ส่งมาครับไหม echo "</pre>" ; } ?> |
- หลัง submit ข้อมูลตรวจสอบคำสั่ง sql ว่าเป็นค่าที่ถูกต้องหรือไม่
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php session_start(); require_once ( "dbconnect.php" ); if (isset( $_POST [ 'btn_submit' ]) && $_POST [ 'btn_submit' ]!= "" ){ $sql =" INSERT INTO tbl_demo SET data= '".$_POST[' data ']."' "; echo $sql ; // แสดงคำส่ัง sql ว่ารูปแบบถูกต้องหรือไม่ exit ; // หยุดทำงาน $mysqli ->query( $sql ); } ?> |
- กรณีคำสั่ง sql มีรูปแบบไม่ถูกต้องหรือต้องการป้องกัน sql injection สามารถเพิ่มคำสั่งป้องกันเพิ่มเติมได้
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php session_start(); require_once ( "dbconnect.php" ); if (isset( $_POST [ 'btn_submit' ]) && $_POST [ 'btn_submit' ]!= "" ){ // ป้องกัน sql injection อย่างง่าย สามารถไปสร้างเป็นฟังก์ชั่เพื่อรียกใช้งานได้ $_POST [ 'data' ] = $mysqli ->real_escape_string( $_POST [ 'data' ]); $sql =" INSERT INTO tbl_demo SET data= '".$_POST[' data ']."' "; echo $sql ; // แสดงคำส่ัง sql ว่ารูปแบบถูกต้องหรือไม่ exit ; // หยุดทำงาน $mysqli ->query( $sql ); } ?> |
- เช็คว่าคำสั่ง sql นั้นทำการคิวรี่ สำเร็จหรือไม่
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php session_start(); require_once ( "dbconnect.php" ); if (isset( $_POST [ 'btn_submit' ]) && $_POST [ 'btn_submit' ]!= "" ){ // ป้องกัน sql injection อย่างง่าย สามารถไปสร้างเป็นฟังก์ชั่เพื่อรียกใช้งานได้ $_POST [ 'data' ] = $mysqli ->real_escape_string( $_POST [ 'data' ]); $sql =" INSERT INTO tbl_demo SET data= '".$_POST[' data ']."' "; $result = $mysqli ->query( $sql ); if ( $result ){ echo "query success" ; } } ?> |
บางกรณีการส่งข้อมูลจำนวนมากๆ อาจจะถูกจำกัดด้วยตัวจัดการ php
เช่น php_value post_max_size เราสามารถปรับแค่โดยการกำหนดใน php.ini ได้

ความคิดเห็นที่
5
ขอบคุณครับ
ผมจะลองนำไปใช้และทดสอบก้อนครับผม
ผมจะลองนำไปใช้และทดสอบก้อนครับผม

ขอบคุณทุกการสนับสนุน
![]()