Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > สอบถามเรื่อง นำ ค่าเข้า ฐานข้อมูล จาก FORM โดยมี USER KEYIN เข้ามาคัรบ



 

สอบถามเรื่อง นำ ค่าเข้า ฐานข้อมูล จาก FORM โดยมี USER KEYIN เข้ามาคัรบ

 



Topic : 095627

Guest




ตอนนี้ผมมีปัญหาคือ 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







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-05-23 16:31:11 By : nut_ch31 View : 768 Reply : 12
 

 

No. 1



โพสกระทู้ ( 73 )
บทความ ( 0 )



สถานะออฟไลน์


กำหนดตัวแปร ขึ้นมาเพื่อใช้เก็บตัวอักษรที่เราต้องการให้เค้ากรอกได้อ่ะครับ
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
 


 

No. 2

Guest


ผมไม่ตอ้งการดัก หน้า form อ่ะคัรบ ผมต้องการให้แปลง ค่า อักขระพิเศษ เข้าฐานข้อมูลให้ได้อ่ะครับ

แล้วตอนแสดงผลก็แสดงให้ถูกต้องอย่างงั้นน่ะครับ รบกวนทีครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-23 16:48:16 By : nut_ch31
 

 

No. 3



โพสกระทู้ ( 1,569 )
บทความ ( 2 )



สถานะออฟไลน์
Twitter Facebook Blogger

ลองเปลี่ยนจาก AddSlash เป็น mysql_real_escape_string ดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-23 16:53:31 By : itpcc
 


 

No. 4

Guest


คือตอนนี้มันเป็นยังงี้อยู่อ่ะครับ ผมไม่ทราบจริงๆ ว่าควรจะเช็ค การ Query อย่างไรดีครับ คือ เวปอ่ะมันเปิดให้ใช้งานจริงได้แล้ว แล้วที่นี้ ณ ตอนนี้น่ะครับ มันมีการ ยิงข้อมูลเข้ามา แบบนี้น่ะครับ

db

แล้วที่นี้ผมไม่รู้จริงๆ ว่าข้อมูล 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
 


 

No. 5

Guest


ตอบความคิดเห็นที่ : 3 เขียนโดย : itpcc เมื่อวันที่ 2013-05-23 16:53:31
รายละเอียดของการตอบ ::
ให้ผมใช้ัตัวนี้แทน AddSlashes ใช่ไหม๊ครับ คือผมไม่รู้จริงๆ ว่ามันจะดัก Case ที่ทำให้เกิดค่าว่าง ได้หรือเปล่าอ่ะสิครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-23 17:09:50 By : nut_ch31
 


 

No. 6



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

อ่านบทความนี้ครับ เพื่อความเข้าใจ มากกว่าจะรู้แค่ว่าทำอย่างไร
https://www.thaicreate.com/community/prevent-php-mysql-sql-injection.html
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-23 17:11:56 By : cookiephp
 


 

No. 7

Guest


ตอบความคิดเห็นที่ : 6 เขียนโดย : cookiephp เมื่อวันที่ 2013-05-23 17:11:56
รายละเอียดของการตอบ ::
Thank you krub.

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-23 17:13:27 By : nut_ch31
 


 

No. 8

Guest


ตอนนี้ผมเศร้าตรงที่ มัน ยิง database เป็นค่าว่าง โดยผมไม่รู้ว่า User เค๊า key data อะไรเข้าอ่ะมาอ่ะครับ ผมไม่รู้เลยว่าจะปรับ code ส่วน insert อย่างไรให้มันเก็บข้อมูลได้อ่ะครับ

ตอนนี้จะใช้วิธี mysql_real_escape_string แทน AddSlashes ไปก่อนน่ะครับ ดูสิว่าจะมีค่าว่าง อีกไหม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-23 17:19:51 By : nut_ch31
 


 

No. 9



โพสกระทู้ ( 1,569 )
บทความ ( 2 )



สถานะออฟไลน์
Twitter Facebook Blogger

อ่อ มันยิงค่าว่างมาแฮะ -*-
ถ้าอย่างนั้นต้องตรวจสอบข้อมูลใน $_POST ทุกตัวเลยครับว่าว่างหรือไม่ถูกลักษณะหรือเปล่า ถ้าใช่ก็ให้ die ไปเลย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-23 17:24:02 By : itpcc
 


 

No. 10

Guest


ตอบความคิดเห็นที่ : 9 เขียนโดย : itpcc เมื่อวันที่ 2013-05-23 17:24:02
รายละเอียดของการตอบ ::
ถ้า DIE ไปเลยไม่ให้ยิง เข้า ฐานข้อมูล แล้วผมจะรู้ได้ไงอ่ะครับ ว่าเค๊า Key อะไรเข้ามาอ่ะ - -

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-23 17:25:48 By : nut_ch31
 


 

No. 11

Guest


เดี่ยวผมใช้วิธีให้มันส่งเมล์ ก่อน insert database ดีกว่า แล้วผมก็มาเทียบว่าเมล์ไหนที่มันส่งแล้วไม่มีข้อมูลใน Database มั้ง อันนั้นน่าจะเป็นตัวที่ทำให้เกิดเคสดังกล่าว ขอบคุณมากครับทุกท่าน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-23 17:51:21 By : nut_ch31
 


 

No. 12



โพสกระทู้ ( 1,569 )
บทความ ( 2 )



สถานะออฟไลน์
Twitter Facebook Blogger

ตอบความคิดเห็นที่ : 10 เขียนโดย : nut_ch31 เมื่อวันที่ 2013-05-23 17:25:48
รายละเอียดของการตอบ ::
ก็อาจจะสร้าง function ไว้สักตัวหนึ่ง สำหรับเก็บข้อฒุลลง Log file แล้ว print ข้อความเออเรอร์แล้ว die ด้วยไปเลยครับ
Code (PHP)
function log_n_die($log,$die){
    error_log($log); //http://php.net/manual/en/function.error-log.php
    echo $die;
    exit;
}


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-23 18:42:27 By : itpcc
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามเรื่อง นำ ค่าเข้า ฐานข้อมูล จาก FORM โดยมี USER KEYIN เข้ามาคัรบ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่