|
รายชื่อบท ตามหนังสือ
ตอนที่ 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)
|