|
|
|
สอบถามเรื่อง นำ ค่าเข้า ฐานข้อมูล จาก FORM โดยมี USER KEYIN เข้ามาคัรบ |
|
|
|
|
|
|
|
ตอนนี้ผมมีปัญหาคือ User อาจจะพิมพ์เครื่องหมายแปลกๆๆ มาทำให้ ไม่สามารถ Insert ข้อมูลเข้าฐานข้อมูลได้อ่ะครับ ผมควรทำอย่างไรดี
ตอนนี้ผมใช้ แบบนี้อยู่อ่ะครับ
Code (PHP)
$insert="insert into asiantrails_log_enquiry (name,address,country,postcode,telephone,mobile,email,destination,travel_period,numberofguest,message,log_date,log_time,log_country)values('".AddSlashes($_POST["name"])."','".AddSlashes($_POST["address"])."','".AddSlashes($_POST["country"])."','".AddSlashes($_POST["zip"])."','".AddSlashes($_POST["tel"])."','".AddSlashes($_POST["mobile"])."','".AddSlashes($_POST["mail"])."','".AddSlashes($_POST["hold_destination"])."','".AddSlashes($_POST["hold_travelperiod"])."','".AddSlashes($_POST["numberofguests"])."','".AddSlashes($_POST["hold_message"])."',curdate(),curtime(),'".$_POST["namecontact"]."') ";
$query=mysql_query($insert);
Tag : PHP, MySQL
|
|
|
|
|
|
Date :
2013-05-23 16:31:11 |
By :
nut_ch31 |
View :
768 |
Reply :
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
กำหนดตัวแปร ขึ้นมาเพื่อใช้เก็บตัวอักษรที่เราต้องการให้เค้ากรอกได้อ่ะครับ
Code (JavaScript)
<script language="javascript" type="text/javascript">
function checkvalue(){
var eng = /^([a-zA-Z0-9\-\_\.])+$/;
if (!(eng.test(document.all.username_customer.value))){
alert("ขออภัยครับ Username ของคุณไม่ถูกต้อง กรุณากรอก Username เป็นภาษาอังกฤษหรือตัวเลขด้วยนะครับ");
document.all.username_customer.select();
return false;
}
}
</script>
ผมใช้แบบนี้นะครับ ลองไปทำดู
|
ประวัติการแก้ไข 2013-05-23 16:45:09
|
|
|
|
Date :
2013-05-23 16:44:01 |
By :
lungzee |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมไม่ตอ้งการดัก หน้า form อ่ะคัรบ ผมต้องการให้แปลง ค่า อักขระพิเศษ เข้าฐานข้อมูลให้ได้อ่ะครับ
แล้วตอนแสดงผลก็แสดงให้ถูกต้องอย่างงั้นน่ะครับ รบกวนทีครับ
|
|
|
|
|
Date :
2013-05-23 16:48:16 |
By :
nut_ch31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองเปลี่ยนจาก AddSlash เป็น mysql_real_escape_string ดูครับ
|
|
|
|
|
Date :
2013-05-23 16:53:31 |
By :
itpcc |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คือตอนนี้มันเป็นยังงี้อยู่อ่ะครับ ผมไม่ทราบจริงๆ ว่าควรจะเช็ค การ Query อย่างไรดีครับ คือ เวปอ่ะมันเปิดให้ใช้งานจริงได้แล้ว แล้วที่นี้ ณ ตอนนี้น่ะครับ มันมีการ ยิงข้อมูลเข้ามา แบบนี้น่ะครับ
แล้วที่นี้ผมไม่รู้จริงๆ ว่าข้อมูล record ที่มันว่างอ่ะเกิดจากการ key ข้อมูลแบบไหนมาอ่ะครับ ผมเลยไปดู Query การ Insert ปรากฎว่า มันเป็นคำสั่งดังนี้อ่ะครับ
Code (PHP)
$insert="insert into asiantrails_log_enquiry (name,address,country,postcode,telephone,mobile,email,destination,travel_period,numberofguest,message,log_date,log_time,log_country)values('".AddSlashes($_POST["name"])."','".AddSlashes($_POST["address"])."','".AddSlashes($_POST["country"])."','".AddSlashes($_POST["zip"])."','".AddSlashes($_POST["tel"])."','".AddSlashes($_POST["mobile"])."','".AddSlashes($_POST["mail"])."','".AddSlashes($_POST["hold_destination"])."','".AddSlashes($_POST["hold_travelperiod"])."','".AddSlashes($_POST["numberofguests"])."','".AddSlashes($_POST["hold_message"])."',curdate(),curtime(),'".$_POST["namecontact"]."') ";
$query=mysql_query($insert);
ที่ผมต้องการก็คือ อยากจะได้วิธีดัก ที่คลอบคลุมที่สุด ไม่ให้การยิงฐานข้อมูลมันได้ค่าว่างอ่ะครับ โดยที่ผมไม่ต้องไปแก้ Code หน้า Form น่ะคัรบ
|
|
|
|
|
Date :
2013-05-23 17:08:14 |
By :
nut_ch31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอนนี้ผมเศร้าตรงที่ มัน ยิง database เป็นค่าว่าง โดยผมไม่รู้ว่า User เค๊า key data อะไรเข้าอ่ะมาอ่ะครับ ผมไม่รู้เลยว่าจะปรับ code ส่วน insert อย่างไรให้มันเก็บข้อมูลได้อ่ะครับ
ตอนนี้จะใช้วิธี mysql_real_escape_string แทน AddSlashes ไปก่อนน่ะครับ ดูสิว่าจะมีค่าว่าง อีกไหม
|
|
|
|
|
Date :
2013-05-23 17:19:51 |
By :
nut_ch31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อ่อ มันยิงค่าว่างมาแฮะ -*-
ถ้าอย่างนั้นต้องตรวจสอบข้อมูลใน $_POST ทุกตัวเลยครับว่าว่างหรือไม่ถูกลักษณะหรือเปล่า ถ้าใช่ก็ให้ die ไปเลย
|
|
|
|
|
Date :
2013-05-23 17:24:02 |
By :
itpcc |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เดี่ยวผมใช้วิธีให้มันส่งเมล์ ก่อน insert database ดีกว่า แล้วผมก็มาเทียบว่าเมล์ไหนที่มันส่งแล้วไม่มีข้อมูลใน Database มั้ง อันนั้นน่าจะเป็นตัวที่ทำให้เกิดเคสดังกล่าว ขอบคุณมากครับทุกท่าน
|
|
|
|
|
Date :
2013-05-23 17:51:21 |
By :
nut_ch31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|