ใน workshop นี้จะแนะนำการสร้างฟอร์มติดต่อโดยมีการเก็บ IP ของผู้ติดต่อหรือผู้ใช้เข้าไปในฐานข้อมูลด้วย เพื่อใช้เป็นหลักฐานอ้างอิงต่างๆ ก็ใช้เทคนิคการ Insert into เหมือนเดิม ซึ่งก็คล้ายๆ กับฟอร์มเพิ่มข้อมูลทั่วๆไปนั้นแหละครับ มาดูตัวอย่าง workshop กันครับ
SQL ตารางที่ใช้
1 2 3 4 5 6 7 8 |
CREATE TABLE `contact` ( `cid` int(10) NOT NULL auto_increment, `detail` text NOT NULL, `email` varchar(50) NOT NULL, `cip` varchar(20) NOT NULL, `datesave` timestamp NOT NULL default CURRENT_TIMESTAMP, PRIMARY KEY (`cid`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; |
ไฟล์เชื่อมต่อฐานข้อมูล conn.php
1 2 3 4 5 6 |
<?php $con= mysqli_connect("localhost","root","password","databasename") or die("Error: " . mysqli_error($con)); mysqli_query($con, "SET NAMES 'utf8' "); ?> |
ฟอร์มติดต่อ form.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>ติดต่อ</title> </head> <body> <form name="form" method="post" action="save.php"> <b> ข้อมูลการติดต่อ </b> <br> รายละเอียด : <br> <textarea name="detail"></textarea> <br> อีเมล์ :<br> <input type="email" name="email" /> <input type="hidden" name="cip" value="<?php echo $_SERVER['REMOTE_ADDR'];?>" /> <br><br> <button type="submit" name="save"> บันทึก </button> </form> </body> </html> |
ไฟล์บันทึกข้อมูล save.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
<meta charset="UTF-8" /> <?php include('conn.php'); //ไฟล์เชื่อมต่อกับ database ที่เราได้สร้างไว้ก่อนหน้าน้ี //สร้างตัวแปรเก็บค่าที่รับมาจากฟอร์ม $detail = $_POST["detail"]; $email = $_POST["email"]; $cip = $_POST["cip"]; //เพิ่มเข้าไปในฐานข้อมูล $sql = "INSERT INTO contact (detail, email, cip) VALUES ('$detail', '$email', '$cip')"; $result = mysqli_query($con, $sql) or die ("Error in query: $sql " . mysqli_error()); //ปิดการเชื่อมต่อ database mysqli_close($con); //จาวาสคริปแสดงข้อความเมื่อบันทึกเสร็จและกระโดดกลับไปหน้าฟอร์ม if($result){ echo "<script type='text/javascript'>"; echo "alert('Thank for contact');"; echo "window.location = 'form.php'; "; echo "</script>"; } else{ echo "<script type='text/javascript'>"; echo "alert('Error!!');"; echo "window.location = 'form.php'; "; echo "</script>"; } ?> |
การทำงาน
สังเกตที่ฟิลด์ cip จะมีการเก็บไอพีของเครื่องผู้ติดต่อเข้าไปในฐานข้อมูลด้วย
ร่วมสนับสนุน ค่ากาแฟ ค่าโฮส devbanban.com และทีมงานได้ที่
ธนาคารกรุงไทย สาขาเดอะมอลล์ท่าพระ
ชื่อบัญชี นายพิศิษฐ์ บวรเลิศสุธี เลขที่ 878-0-17747-6
————————————————————————————
ธนาคารไทยพาณิชย์ สาขามหาวิทยาลัยราชภัฏธนบุรี
ชื่อบัญชี นายพิศิษฐ์ บวรเลิศสุธี เลขที่ 406-359094-1
fanpage : https://www.facebook.com/sornwebsites/