Article Index


การสร้างแบบฟอร์มนั้น จำเป็นต้องมีการเขียนโปรแกรมช่วยจัดการกับข้อมุลที่มีการกรอกลงใน ฟอร์ม ไม่เช่นนั้นข้อมูลก็ไม่ไปไหนและการทดสอบการทำงานต้องอัพโหลดไปทดสอบบนเว็บไซต์จริงๆ สำหรับการสร้างแบบฟอร์มในหัวข้อที่ผ่านๆ มานั้น จะใช้งานจริงต้องมีการเขียนโปรแกรมรองรับเหมือนกับ ตัวอย่างงานจริงนี้ ไม่เช่นนั้นจะใช้งานไม่ได้
1. ข้อมูลที่กรอกในฟอร์ม
2. เมื่อคลิกปุ่ม Send ข้อความจะถูกส่งไปยังอีเมล์ที่ได้พิมพ์ในช่องอีเมล์
3. เข้าไปเช็คอีเมล์ คลิกที่ Inbox ก็จะพบจดหมายที่ส่งเข้ามา
4. นอกจากการส่งข้อมูลเข้าอีเมล์แล้ว อาจจัดเก็บข้อมูลที่กรอกในฟอร์มลงเก็บไว้ในฐานข้อมูลของ เว็บไซต์ก็ได้

 


เริ่มต้นสร้างแบบฟอร์ม

ผู้เขียนจะยกตัวอย่างการสร้างแบบฟอร์มสำหรับรับส่งข้อมูลแบบง่ายๆ โดยจะรับข้อมูลจากแบบ ฟอร์ม แล้วส่งเข้าอีเมล์ของผู้รับ
1. สร้างโฟลเดอร์ชื่อ mailsend สำหรับเก็บไฟล์เว็บเพจ
2. สร้างไฟล์ภายในชื่อ contact_form.php และ send.php
3. ดับเบิ้ลคลิกไฟล์ contact_form.php เพื่อเปิดไฟล์
4. แทรกฟอร์ม แล้วพิมพ์ข้อความลงในฟอร์มตามตัวอย่าง
5. หลัง To Email, From Email และ Subject แทรกฟิลด์แบบ Text Field
6. กำหนดคุณสมบัติ Text Field ของ To Email ตามนี้
7. กำหนดคุณสมบัติ Text Field ของ From Email ตามนี้
8. กำหนดคุณสมบัติ Text Field ของ Subject ตามนี้
9. กำหนดคุณสมบัติ Textarea Field ของ message ตามนี้
10. คลิกที่ฟอร์ม เส้นสีแดง แล้วกำหนดค่าตามนี้ ค่า Action = send.php เป็นการกำหนดให้ ส่งค่าที่ป้อนในฟอร์มไปยังไฟล์ send.php แล้วไฟล์ดังกล่าวจะทำหน้าที่ส่งข้อมูลเข้าอีเมล์


สร้างไฟล์ส่งข้อมูลเข้าอีเมล์

1. สร้างไฟล์ชื่อ send.php
2. ดับเบิ้ลคลิกเปิดไฟล์
3. คลิก Code

 

4. พิมพ์คำสั่ง PHP ลงไปตามตัวอย่าง
<?php
if(isset($_POST['send'])) setcookie("Mail",1, time()+30);
else die("No form submitted");
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-874">
<title>Sending Mail</title>
</head>

<body>
<?php
if(isset($_COOKIE['Mail'])) die("You can't send another email within 30 seconds");
//validating email address
if(!ereg("^[^@ ]+@[^@ ]+\.[^@ \.]+$",$_POST['mailto'])) die("Recipient email address is not correct");
if(!ereg("^[^@ ]+@[^@ ]+\.[^@ \.]+$",$_POST['mailfrom'])) die("Sender email address is not correct");

//setting up headers
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "To: ".$_POST['mailto']."\r\n";
$headers .= "From: ".$_POST['mailfrom']."\r\n";

// now sending mail
if(mail($_POST['mailto'], $_POST['mailsubject'], nl2br($_POST['mailmsg']), $headers)){
echo "Mail sent to <b>".$_POST['mailto']."</b> sucessfully";
} else{ die("Mail sending error"); }
?>

</body>

</html>
5. เสร็จแล้วบันทึกงานเก็บไว้


ตัวอย่างการนำไปใช้งานจริง

ผู้เขียนได้อัพโหลดไปไว้ที่เว็บไซต์ pasakresort โดยจะอัพโหลดโฟลเดอร์ mailsend เข้าไปทั้ง โฟลเดอร์เลย
1. การเรียกใช้งานก็จะพิมพ์ชื่อเว็บไซต์ชื่อ/ชื่อไฟล์ เช่น
www.pasakresort.kmancity.com/mailsend/contact_form.php
2. พิมพ์ข้อมูลเข้าไปแล้วคลิกปุ่ม Send
3. ไฟล์ send.php เป็นไฟล์ประกอบจึงไม่ต้องเรียกใช้งาน
4. ในไฟล์หลัก index.php อาจเปิดไฟล์นี้ขึ้นมา แล้วแก้ไขลิงค์ให้ชี้ไปที่ไฟล์ contact_form.php

ในการใช้งานจริงจะนิยมนำไปเก็บในฐานข้อมูลของเว็บไซต์ ซึ่งต้องเขียนโปรแกรมขึ้นมารองรับการ ใช้งาน ต้องศึกษาการเขียนโปรแกรมด้วย PHP เพื่อเรียกใช้งานฐานข้อมูล MySQL