ตัวอย่างโค้ดด้วยภาษาพีเอชพี
ตัวอย่างโค้ดด้วยภาษาพีเอชพี
HOME | TEAM
รายชื่อบท ตามหนังสือ
    ตอนที่ 2 PHP programming
    บทที่ 13 ความรู้เบื้องต้นเกี่ยวกับ PHP
    ถ้าท่านเคยเขียน PERL มาก่อนการปรับมาใช้ PHP จะพบว่าง่ายมาก เพราะมีโครงสร้างของภาษา เป็นภาษา C เช่นเดียวกัน นอกจากภาษา PHP จะใหม่กว่า มีฟังก์ชันให้เรียกใช้มากกว่า และยังมี Mysql ให้ใช้บริหารฐานข้อมูลได้อย่างมีประสิทธิภาพ สำหรับผู้ที่เคยบริหารฐานข้อมูล แบบ Text file ด้วย PERL จะรู้สึกว่ามีความไม่สะดวกอย่างมาก
    ในบทเรียนนี้จะเป็นการนำเสนอแนวการเขียนโปรแกรมพื้นฐาน และสร้างความเคยชินให้กับผู้อ่าน ในการใช้คำสั่ง if, for, while หรือ switch รวมถึงเทคนิคการเรียก Unix command

    ต.ย. 13.1 index.php (ทำซ้ำเพื่อสร้างเมนูอย่างง่าย)
    ต.ย. 13.2 intro01.php (เขียน php ร่วมกับ html)
    ต.ย. 13.3 intro02.php (เรียกใช้ unix command)
    ต.ย. 13.4 intro03.php (เลือกตามเงื่อนไขด้วย if-else)
    ต.ย. 13.5 intro04.php (ทำซ้ำด้วย while)
    ต.ย. 13.6 intro05.php (ทำซ้ำด้วย for)
    ต.ย. 13.7 intro06.php (เลือกตามเงื่อนไขด้วย switch)

    บทที่ 14 การปรับปรุงข้อมูลใน Text file
    การจัดการกับ text file ซึ่งบางเว็บให้บริการทั้ง PERL และ PHP ก็จะทำให้ท่านเลือกได้ว่าจะใช้ ภาษาใดในการจัดการกับแฟ้มที่ตนมีอยู่หากใช้ภาษา PERL จะอ่านได้จากบทที่ 3 และ 4
    ในบทนี้จะเขียนโปรแกรมอย่างง่าย ๆ แยกส่วนของโปรแกรมเป็นหน้าที่ชัดเจน เช่นการสร้างแฟ้ม แสดงข้อมูลในแฟ้ม เพิ่ม ลบ แก้ไข หรือการลบแฟ้มเป็นต้น คำสั่งที่ใช้จัดการกับ Text file มีรูปแบบคล้ายภาษา C และคล้ายกับภาษา PERL มาก

    ต.ย. 14.1 data.txt (แฟ้มเก็บข้อมูล)
    ต.ย. 14.2 index.php (สั่งงาน และส่งค่าให้โปรแกรมอื่น)
    ต.ย. 14.3 create5.php (สร้าง 5 ระเบียนใหม่)
    ต.ย. 14.4 listfile.php (อ่านข้อมูลจากแฟ้มมาแสดง 2 แบบ)
    ต.ย. 14.5 addnew.php (เพิ่มระเบียนใหม่)
    ต.ย. 14.6 deldata.php (ลบระเบียนตามเขตข้อมูลแรก)
    ต.ย. 14.7 editdata.php (แก้ไขระเบียน)
    ต.ย. 14.8 delfile.php (ลบแฟ้ม)

    บทที่ 15 การปรับปรุงข้อมูลใน Mysql
    ในบทนี้ต้องการแสดงโปรแกรมพื้นฐานของการจัดการกับ mysql บน linux ซึ่งจะมีการใช้คำสั่ง สำหรับสร้าง Database ส่วนตัว สร้างตารางของตนเองใน Database แล้วจึงเข้าไปสู่การเพิ่ม ลบ แก้ไข หรือ การเรียกข้อมูลมาแสดง ปิดด้วยความสามารถในการลบฐานข้อมูล
    แต่ต้องเตือนไว้ก่อนว่าผมเขียนโปรแกรมนี้เพื่อทดสอบ ถ้ามีคนเข้าไปทดสอบโปรแกรมนี้พร้อม กันหลายคน จะต้องบอกว่าโปรแกรมนี้ผิด เพราะบางครั้งเพิ่มระเบียนใหม่กลับบอกว่า ฐานข้อมูลไม่มี แต่บางทีเพิ่มเข้าไประเบียนเดียว กลับโผ่มาจากไหนไม่ทราบอีก 2 ระเบียน ก็เพราะเป็นระบบที่ไม่ได้จัดการเรื่องผู้ใช้หลายคน หรือการ lock ระบบไม่ให้ลบฐานข้อมูล จึงเป็นหน้าที่ของผู้อ่านที่จะต้องวางแผน และสร้างระบบให้รัดกุม เพื่อนำไปใช้ ให้ตรงกับความต้องการของตนต่อไป

    ต.ย. 15.1 index.php (เมนูให้เลือกทำงาน)
    ต.ย. 15.2 step1connect.php (การเชื่อมต่อ)
    ต.ย. 15.3 step2crtdb.php (สร้างฐานข้อมูล)
    ต.ย. 15.4 step3select.php (นำข้อมูลในตารางมาแสดง)
    ต.ย. 15.5 step4insert.php (เพิ่มข้อมูลใหม่)
    ต.ย. 15.6 step5delete.php (ลบข้อมูลตามรหัส)
    ต.ย. 15.7 step6update.php (แก้ไขข้อมูลเลือกเฉพาะรหัส)
    ต.ย. 15.8 step7drop.php (ลบฐานข้อมูล)

    บทที่ 16 ห้องภาพโดย PHP
    ห้องภาพที่เขียนไว้ในบทที่ 6 ซึ่งเขียนด้วย PERL และมีความละเอียดดีมาก แต่บทนี้เป็นการนำเสนอ Gallery อีกรูปแบบหนึ่ง ที่เข้าใจได้ง่าย ไม่ยุ่งยาก และเขียนด้วยภาษา PHP
    ทั้ง 2 โปรแกรมในตัวอย่างนี้ ทำหน้าที่ได้คล้ายกัน โดยตัวอย่างแรกจะถูกจัดระเบียบไว้น้อย กว่าตัวอย่างที่สอง ซึ่งมีความยืดหยุ่นที่จะนำไปใช้ได้สะดวกขึ้น เช่นการจดจำเลขหน้า หรือชื่อ ของห้องภาพ เมื่อมีการเลือกหน้าต่อไป
    ตัวอย่างแรกถูกเขียนให้สามารถใช้ได้ทั้งเว็บ isinthai.com และ f2s.com โดยไม่ต้องปรับ code แต่อย่างใด เนื่องจากเขียนส่วนตรวจสอบ $DOCUMENT_ROOT เพื่อกำหนดห้องที่จะอ่านภาพ ทั้งหมดใน directory ที่ต้องการมาทั้งหมด อย่างอัตโนมัติ

    ต.ย. 16.1 gal.php (ห้องภาพแบบใช้ได้หลาย server)
    ต.ย. 16.2 galf.php (ห้องภาพแบบจดจำเลขหน้า)

    บทที่ 17 ประกาศผลสอบ Entrance
    เพื่อแสดงให้เห็นการติดต่อกับฐานข้อมูลด้วย SQL จึงยกกรณีของการประกาศผลสอบ entrance มานำเสนอ เพราะหลายท่านอาจสนใจที่จะทำเว็บให้เป็นศูนย์ประกาศผลสอบ entrance ทาง internet เป็นบริการที่ไม่ยาก เนื่องจากเป็นระบบที่เน้นการแสดงผล จาก key word ที่ส่งเข้าไปเลือก ข้อมูลจากฐานข้อมูล
    สิ่งที่อาจเป็นปัญหาคือ การให้ได้ผลสอบมาจัดเก็บในฐานข้อมูล เพราะข้อมูลถูกประกาศ มาจากหน่วยงานของรัฐบาล(ทบวงมหาวิทยาลัย) การจะให้ได้ข้อมูลมา จะต้องทำเรื่องขออย่างเป็นทางการ เมื่อได้ข้อมูลมาจะต้องแปลงจาก text file และส่งเข้าระบบฐานข้อมูล เพื่อให้ผู้ใช้ได้เข้าไปสืบค้นตามต้องการ เพราะฐานข้อมูลในตัวอย่างนี้ใช้ Mysql

    ต.ย. 17.1 index.php (รับรหัสนักเรียน)
    ต.ย. 17.2 connect.php (เชื่อมต่อระบบฐานข้อมูล)
    ต.ย. 17.3 entstdrestore.php (สร้าง หรือเรียกข้อมูลนักเรียนคืน)
    ต.ย. 17.4 enttyperestore.php (สร้าง หรือเรียกประเภทนักเรียนคืน)
    ต.ย. 17.5 entchkidstd.php (ตรวจผลการสอบตามรหัสนักเรียน)
    ต.ย. 17.6 entchkidtype.php (ตรวจชื่อประเภท ตามรหัสประเภทนักเรียน)
    ต.ย. 17.7 entjoin.php (รวมตาราง ทำรายงาน)
    ต.ย. 17.8 entputmany.php (เพิ่มข้อมูลเข้าฐานข้อมูลหลายระเบียน)
    ต.ย. 17.9 crtqrydrp.php (ทดสอบสร้างและลบ ฐานข้อมูล)

    บทที่ 18 Shopping cart ด้วย PHP
    คำสั่งที่ใช้จัดการกับ cookie ของ PHP นั้นง่ายมาก เมื่อนำมาทำระบบ shopping cart ผู้อ่าน อาจงงได้ว่าตรงไหนคือ cookie ที่ใช้ใน PHP เพราะบางท่านอาจคุ้นเคยกับการใช้ cookie ใน PERL ที่เหมือนกันอย่างหนึ่งคือ ต้องใช้คำสั่ง setcookie ก่อนใช้คำสั่ง echo หรือ print
    ตัวอย่างนี้เปรียบเทียบการเขียน shopping cart กับบทที่ 10 แต่ความสามารถต่าง ๆ ในบทนี้ จะถูกตัดไป เช่นการคำนวณยอดเงินรวม ของสินค้าในตะกร้า เป็นต้น ส่วนบริการส่งคำสั่งซื้อด้วย e-mail ยังสามารถทำได้คล้ายกับการเขียนด้วย PERL ท่านใดสนใจทำ e-commerce แบบจับเสือมือเปล่า สามารถประยุกต์ และนำไปใช้ได้ไม่ยากนัก

    ต.ย. 18.1 cartbasic.php (ฟอร์มให้เลือกสินค้า)
    ต.ย. 18.2 cartbasicsave.php (บริการส่งข้อมูลสินค้าให้ผู้ขาย)

    บทที่ 19 ยืมคืนวีดีโอ
    ระบบยืมคืนวีดีโอ เป็นระบบที่ทุกท่านคุ้นเคย คล้ายร้านเช่าการ์ตูน แต่วงเงินในระบบวีดีโอ จะสูงกว่า ในตัวอย่างโปรแกรมนี้ไม่ได้เขียนโปรแกรมให้สมบูรณ์แบบคัดลอกไปใช้ได้ทันที เพียงแต่แสดงการทำงานสำคัญของระบบไว้เท่านั้น เช่นบริการยืม คืน พร้อมการทำรายงาน 4 รายงาน
    โปรแกรมในชุดนี้จะทำให้ผู้ที่เคยเขียน PERL เห็นความแตกต่างของ PHP และ PERL ได้ชัดเจน เพราะหากเขียนโปรแกรมตามตัวอย่างนี้ด้วย PERL จะต้องใช้เวลาลง code อย่างมาก เนื่องจากการจัดการฐานข้อมูลในภาษา PERL จะเป็น text file ที่ผู้พัฒนาต้องวางระบบให้เป็นระเบียบ และควบคุมเขตข้อมูลเอง ถ้าเป็น PHP จะมี mysql ที่สนับสนุนการประมวลผลข้อมูลได้ง่าย

    ต.ย. 19.1 connect.php (เชื่อมต่อระบบฐานข้อมูล)
    ต.ย. 19.2 checkeid.php (ตรวจรหัสพนักงาน)
    ต.ย. 19.3 createvdo.php (สร้างข้อมูลตัวอย่าง)
    ต.ย. 19.4 displayvdo.php (เลือกแสดงข้อมูลตามชื่อตาราง)
    ต.ย. 19.5 reportvdo.php (จัดทำรายงาน 4 รายงาน และเลือกค่าตามที่กำหนด)
    ต.ย. 19.6 borrowvdo.php (ยืม และคืนวีดีโออย่างง่าย)

    บทที่ 20 บริการ Sticker vote
    สมัยหนึ่งใคร ๆ ก็ชอบถ่าย sticker ห้างไหนไม่มี ก็ต้องบอกว่าเชย เหมือนเกมเต้น ที่ฮิตกันเต็มเมือง ผมยังเคยเสียเงินไปลองเต้นเลย แต่ sticker นี่เสียดายว่ายังไม่เคยถ่าย เห็นใคร ๆ เขาถ่ายกันก็รู้สึกสนใจ แต่ยังไม่มากพอที่จะเข้าไปถ่ายเท่านั้น
    ต่อมามีคนทำเว็บให้คนนำ sticker ที่เก็บสะสมไว้มาอวด เพราะถ้าไม่นำมาอวด สีของ sticker จะเริ่มตก ที่เคยสะสมไว้ก็จะเริ่มไม่สวย โดยเปิดบริการให้สมาชิกที่ไป scan ภาพ sticker มา ส่งเข้าไปในเว็บ แล้วเปิดให้คนเข้าไปแสดงความเห็นพร้อม Vote ให้คะแนน ได้ยินมาว่ามีผู้สนใจกันมากมาย จึงเป็นเหตุให้ผมลองทำโปรแกรมแบบนี้ดูบ้าง สามารถ upload ภาพเข้าไป และแสดงความคิดเห็นในแต่ละภาพได้ แต่ไม่ได้เพิ่มส่วนของการให้คะแนน โปรแกรมถูกแยกไว้เป็นการ upload ภาพ และการเพิ่มความคิดเห็นต่อภาพแยกออกจากกัน

    ต.ย. 20.1 index.php (แสดง sticker ให้ vote)
    ต.ย. 20.2 putpic.php (จัดการกับภาพที่เปิดให้ upload)
    ต.ย. 20.3 puttxt.php (จัดการกับข้อความในแฟ้ม text)
rspsocial
Thaiall.com