สมัครสมาชิก |เข้าระบบ

ไทยเว็บปาร์ตี้เว็บบอร์ดWeb Design T@lk › กระทู้ของฉัน

7253

เข้าชม

3

ตอบกลับ
กลับไปที่

ผู้จัดการบอร์ด

แค่เชื่อมั่น ... ...

Rank: 9Rank: 9Rank: 9

สมัครสมาชิกเมื่อ
2008-6-14 
เข้าระบบล่าสุด
2011-5-10 
จิตพิศัย
2973  
เงินสด
7393  
โพสต์แล้ว
882 
UID

ผู้จัดการบอร์ด นักโพสน์ดีเด่น ชาวกราฟฟิก ผู้ดูแลบอร์ด คอหนัง คนรักเสียงเพลง

go

การสร้างแบบฟอร์มรับข้อมูลหน้าเว็บ

จะว่าไปแล้ว มันก็ไม่ได้ยากอะไร แต่!!! ถ้าคุณไม่รู้เรื่อง PHP HTML ล่ะก็.. เหนื่อยแน่นอนครับ
ไม่ต้องคิดไรมาก คนอื่นทำได้เราก็ทำได้..เมื่อก่อนผมก็มืดแปดด้าน เหมือนกันครับ

ขั้นแรกเลยคุณต้อง ออกแบบและสร้างฐานข้อมูลให้ได้ก่อน
เข้า phpMyAdmin สร้างฐานข้อมูล และ ตารางเก็บข้อมูล(อันนี้เบสิคไปศึกษาเอาเองนะครับไม่บอกรายละเอียด)
หลังจากนั้นจึงมาทำแบบฟอร์ม (ผมใช้ ดรีม ทำง่ายดีครับ)

ตัวอย่างแบบฟอร์มแบบง่ายๆ
สร้างไฟล์ที่ชื่อ form.htm มีโค้ดดังนี้
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=windows-874" />
  5. <title>แบบฟอร์มกรอกข้อมูลลูกค้า-www.sumbydesign.net</title>
  6. </head>
  7. <body>
  8. <form action="mysql_insert_db.php" method="post">
  9. <p>
  10. ชื่อลูกค้า:
  11. <input type="text" name="name" size="8" maxlength="50" value="" />
  12. </p>
  13. <p>
  14. อีเมล:
  15. <input type="text" name="mail" size="25" maxlength="80" value="" />
  16. </p>
  17. <p>
  18. <input type="submit" name="submit" value="Submit!" />
  19. </p>
  20. </form>
  21. </body>
  22. </html>
คัดลอกไปที่คลิปบอร์ด
ต่อมา สร้างอีกไฟล์นึงที่ชื่อ mysql_insert_db.php มีโค้ดดังนี้
  1. <?php
  2. include ("mysql_connect.php");
  3. $nameforrecord = $_POST[name];
  4. $mailforrecord = $_POST[mail];
  5. $query = "INSERT INTO customer_list set name='$nameforrecord', mail='$mailforrecord'";
  6. $result = mysql_query($query);
  7. mysql_close();
  8. ?>
  9. <p align="center"><font size="4" face="Tahoma, MS Sans Serif"><strong>ส่งข้อมูลเรียบร้อยครับ  ขอบคุณครับ</strong></font></p>
  10. <p align="center"><font size="4" face="Tahoma, MS Sans Serif"><a href="http://www.sumbydesign.net">กลับหน้าแรก</a></font></p>
คัดลอกไปที่คลิปบอร์ด
จากไฟล์ด้านบนจะเห็นได้ว่ามีบรรทัดเรียกไฟล์ mysql_connect.php ในไฟล์ mysql_insert_db.php
ดังนั้น สร้างไฟล์ชื่อ mysql_connect.php ขึ้นมา มีโค้ดดังนี้
  1. <?php
  2. @mysql_connect("localhost", "root", "1234") or die("เชื่อมต่อไม่สำเร็จ มีข้อมูลผิด");
  3. @mysql_select_db("customer_data") or die("เลือกฐานข้อมูลไม่ได้");
  4. mysql_query("SET NAMES 'tis620' ");
  5. ?>
คัดลอกไปที่คลิปบอร์ด
หลังจากนั้นก็อัพไฟล์ขึ้นโฮส  ทดสอบเริ่มจากการรันไฟล์ form.htm

form.jpg


กรอกข้อมูลแล้ว กด Submit!

ก็จะไปหน้านี้ครับ

form1.jpg


แล้ว url สุดท้ายก็จะส่งไปที่ไฟล์ mysql_insert_db.php (หากมีข้อความ error แสดงว่าผิดครับ)

แล้วก็ลองเข้า phpMyAdmin ไปเช็คดูฐานข้อมูล ดูผลงานครับ  ว่ามีข้อมูลหรือป่าว

ทีนี้มาดูการทำงานกันครับ ว่าทำงานกันอย่างไร
เริ่มจาก form.htm
หน้านี้ไม่มีอะไรมากเลยครับ นอกจาก แบบฟอร์มนั่นเอง และเมื่อกดปุ่ม submit ค่าทั้งหมดจะถูกส่งข้ามหน้าไปยังปลายทางที่ระบุใน action="...." นั่นล่ะครับ ที่นี้เราให้ส่งไปที่ mysql_insert_db.php มันก็ส่งไปที่ไฟล์นี้ครับ

ต่อมา ไฟล์ของ mysql_insert_db.php
หน้าที่ของไฟล์นี้คือการดึงข้อมูลออกมาจากหน้า form นะครับ สังเกตุ
$nameforrecord = $_POST[name];
$mailforrecord = $_POST[mail];
สองบรรทัดนี้คือการดึงตัวแปร ออกมาจาก name และ mail เพื่อไปใส่ตัวแปร nameforrecord และ mailforrecord ครับ โดยสังเกตุหน้า form นั้น มีการส่งเป็นแบบ POST หน้านี้จึงต้องดึงข้อมูลแบบ POST เช่นกันครับ

ต่อมาก็คือส่วนของบันทึกข้อมูล ซึ่งก็เหมือนกันกับบทความก่อนหน้านี้ของเรานั่นเอง เพียงแต่เปลี่ยนค่าที่ให้เป็นชื่อตัวแปรแทน ในบรรทัดนี้ครับ
$query = "INSERT INTO customer_list set name='$nameforrecord', mail='$mailforrecord'";


จบแล้วครับ สำหรับเรื่องของการบันทึกข้อมูลจากหน้าเว็บเข้าฐานข้อมูล มีแค่นี้เอง.... สำหรับการเรียกดูผล ใช้โค้ดนี้ครับ
  1. <?php
  2. include ("mysql_connect.php");
  3. $query = "SELECT * FROM customer_list ORDER BY name";
  4. $result = mysql_query($query);
  5. while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
  6. {
  7. $namedis = $row['name'];
  8. $maildis = $row['mail'];
  9. echo "=ชื่อลูกค้า : $namedis ($maildis)
  10. ";
  11. }
  12. ?>
คัดลอกไปที่คลิปบอร์ด
ก็หมดแล้ว สำหรับการ รับข้อมูลจากแบบฟอร์มหน้าเวบ การบันทึกข้อมูล และการแสดงผล ลองเอาไปประยุกต์ใช้ดูครับ เพิ่มตัวแปรตามต้องการครับ
Nu-Losoman แอดมิน@ซำบายดีไชน์
เมื่อคิดจะทำอะไร  หากคิดมากไป แล้วเมื่อไร จะได้ลงมือทำ

TOP

สมัครสมาชิกเมื่อ
2008-8-30 
เข้าระบบล่าสุด
2008-11-5 
จิตพิศัย
-3  
เงินสด
-1  
โพสต์แล้ว
UID
179 

TOP

Rank: 8Rank: 8

สมัครสมาชิกเมื่อ
2008-6-16 
เข้าระบบล่าสุด
2010-8-16 
จิตพิศัย
1123  
เงินสด
41304  
โพสต์แล้ว
506 
UID

นักโพสน์ดีเด่น ชาวกราฟฟิก ผู้อาวุโส ผู้ดูแลบอร์ด รักงานเขียน คอเกมส์ คนรักเสียงเพลง รวยน้ำใจ รักดนตรี

TOP

Rank: 1

สมัครสมาชิกเมื่อ
2009-12-11 
เข้าระบบล่าสุด
2009-12-11 
จิตพิศัย
2  
เงินสด
60  
โพสต์แล้ว
UID
4744 

TOP

ไทยเว็บปาร์ตี้ |ติดต่อกลับ

GMT+7, 2012-5-22 00:46, Processed in 0.014449 second(s), 8 queries, Xcache On.

Powered by Discuz! X1

© 2001-2010 Comsenz Inc.