The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

การเขียนโปรแกรมบนเว็บด้วยภาษา PHP (ฉบับพื้นฐาน)

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by l.thanawat, 2020-12-01 02:11:22

การเขียนโปรแกรมบนเว็บด้วยภาษา PHP (ฉบับพื้นฐาน)

การเขียนโปรแกรมบนเว็บด้วยภาษา PHP (ฉบับพื้นฐาน)

Keywords: PHP

Page |1

บทที่ 1 ความร้เู บอ้ื งต้นเกยี่ วกับเว็บโปรแกรมมิง่

ความหมายของเวบ็ โปรแกรมมิ่ง
เว็บโปรแกรมม่ิง (Web programming) คือ การเขียนโปรแกรมบนเว็บไซต์ โดยใช้การพัฒนาแอพลิเคชั่นแบบ Web

Based Application โดยใช้ภาษามากมายหลายภาษา เช่น Perl, PHP, JAVA, C#, XMLหรือ ASP.NET เป็นต้น ซึ่งแต่ละภาษา
ล้วนตา่ งมขี ้อดีข้อเสียแตกต่างกันไป โดยมุ่งให้รองรับความก้าวหน้าของอนิ เทอร์เน็ต ตวั อย่างเช่น การเขียนโปรแกรมเพื่อรับ
ขอ้ มลู จากฟอรม์ หรอื โปรแกรม ChatRoom

ประเภทของการเขียนโปรแกรมบนเวบ็
การเขยี นโปรแกรมบนเวบ็ สามารถแบง่ ไดเ้ ปน็ 2 ประเภทคือ Client-Side และ Server-Side
1. Client-Side เป็นการเขยี นโปรแกรมท่ีใช้ Resource (Memory) จากเครอ่ื งคอมพิวเตอร์ของผู้เรยี กใช้โปรแกรม

ตัวอยา่ ง เชน่ Javascript เป็นตน้
2. CGI (Common Gateway Interface) เป็น Server-Side Language น่ันคือการประมวลผลทั้งหมดถูกจัดการ

บน web server

องค์ประกอบการพัฒนาเว็บโปรแกรมมิง่
1. เซิร์ฟเวอร์ (server) หรือ เครื่องแม่ข่าย คือ เคร่ืองหรือซอฟต์แวร์คอมพิวเตอร์ซ่ึงทางานให้บริการ ในระบบ

เครือข่ายแก่ลูกข่าย (ซึ่งให้บริการผู้ใช้อีกทีหนึ่ง) เคร่ืองคอมพิวเตอร์ที่ทาหน้าที่เป็นเซิร์ฟเวอร์นี้ควรจะมีประสิทธิภาพสูง มี
ความเสถียร สามารถใหบ้ รกิ ารแกผ่ ู้ใช้ได้เป็นจานวนมาก ภายในเซิรฟ์ เวอร์ให้บรกิ ารไดด้ ้วยโปรแกรมบรกิ าร ซ่ึงทางานอยู่บน
ระบบปฏบิ ัติการอีกช้นั หนึ่ง

2. ไคลเอนต์ (Client) คือ เครื่องท่ีไปขอใช้บริการอย่างใดอย่างหนึ่งจากเซิร์ฟเวอร์ ซ่ึงไคลเอนต์เป็นเคร่ือง
คอมพิวเตอร์ที่ไม่สามารถเรียกใช้งานโปรแกรมคอมพิวเตอร์ในตัวเองได้ แต่สามารถใช้งานโปรแกรมนั้นผ่านทางระบบ
เครอื ขา่ ย

3. โปรแกรมเว็บเซิร์ฟเวอร์ (Web Server) คือ ซอฟต์แวร์คอมพิวเตอร์ ซ่ึงทาหน้าท่ีให้บริการข้อมูล แก่ Client
หรือ เครืองคอมพิวเตอร์ท่ีขอรับบริการ ในรูปแบบ สื่อผสม ผ่านระบบเครือข่าย โดยสามารถแสดงผล ผ่านโปรแกรมเว็บ
บราวเซอร์ (Web Browser) หรอื อาจกล่าวไดว้ ่า โปรแกรมเว็บเซิรฟ์ เวอร์เป็นโปรแกรมท่คี อยให้บริการแก่ไคลเอนตท์ ่ีร้องขอ
ข้อมูลเขา้ มาโดยผา่ นเวบ็ บราวเซอร์ พรอ้ มรองรบั การใช้งานจากไคลเอนทห์ ลาย ๆ เครอื่ งพร้อมกนั

สาหรบั ซอฟต์แวร์เว็บเซิร์ฟเวอร์ท่ีได้รบั ความนยิ มสงู สดุ 4 อันดับแรก คอื

 Apache HTTP Server จาก Apache Software Foundation

 Internet Information Server (IIS) จากไมโครซอฟท์

 Sun Java System Web Server จากซนั ไมโครซสิ เต็มส์ (เดิมชือ่ Sun ONE Web Server, iPlanet Web
Server และ Netscape Enterprise Server)

การเขียนโปรแกรมบนเว็บดว้ ยภาษา PHP (ฉบบั พนื้ ฐาน) อ.ชนดิ า แกว้ เพชร

Page |2

 Zeus Web Server จาก Zeus Technology
4. โปรแกรมเท็กเอดิเตอร์ (Text Editor) ซอฟต์แวร์คอมพิวเตอร์ที่ทาหน้าทีส่ ร้างหรือปรับแก้ขอ้ ความ รวมทัง้
ปรับรูปแบบขอ้ มูลต่าง ๆ ในการพัฒนาเวบ็ ไซต์โดยเฉพาะ ซ่ึงนกั เขยี นโปรแกรมจะใช้โปรแกรมน้ีช่วยแกไ้ ขปรับปรุงเว็บไซต์ท่ี
ได้พัฒนาไว้
5. ภาษาสครปิ ต์ (Script Language)

ภาษาสคริปต์ทใ่ี ชใ้ นการสร้างเวบ็ เพจ แบ่งได้เป็น 2 ประเภท ไดแ้ ก่
• Server-Side Script เช่น PHP, ASP, JSP, CGI เป็นภาษาสครปิ ต์ท่ีประมวลผลที่ฝัง่ เซริ ฟ์ เวอร์ แล้วส่ง

ผลลพั ธไ์ ปแสดงผลทีฝ่ ่งั ไคลเอนต์ผ่านโปรแกรมเว็บบราวเซอร์ ซง่ึ ฝง่ั ไคลเอนต์ไม่สามารถเหน็ โคด้ ในสว่ นน้ีได้
• Client-Side Script เช่น JavaScript, VBScript, JScript เปน็ ภาษาสคริปต์ทป่ี ระมวลผลบนเคร่ือง

คอมพิวเตอร์ของผู้เยย่ี มชมเว็บไซต์หรือเครือ่ งไคลเอนต์โดยใช้โปรแกรมเวบ็ เบราเซอร์ ซึ่งจะช่วยแบง่ เบาการทางานใหก้ ับ
เครื่องเวบ็ เซิร์ฟเวอร์ได้

6. โปรแกรมดาตา้ เบสเซริ ์ฟเวอร์ (Database Server ) เป็นซอฟต์แวร์ทท่ี างานบนเซิร์ฟเวอร์ ทาใหเ้ ซริ ฟ์ เวอร์
ให้บริการเก่ยี วกบั ฐานข้อมูลได้ เชน่ เปิดให้ผใู้ ชเ้ พม่ิ ข้อมลู ลบ หรอื แก้ไข สาหรบั โปรแกรม

7. โปรแกรมดาตา้ เบสเมเนอเจอร์( Database Manager) เป็นซอฟต์แวร์ทชี่ ่วยอานวยความสะดวกในการจัดการ
ระบบฐานข้อมูล ทง้ั นี้โปรแกรม Database Server บางตวั เช่น MySQL ไม่ได้สร้างสว่ นที่จดั การ สร้าง แก้ไข database ทา
ใหจ้ าเปน็ ตอ้ งมผี ชู้ ่วยทค่ี อยจัดการเก่ยี วกับฐานข้อมูล ซึ่งก็คือ phpMyAdmin

การเขียนโปรแกรมบนเว็บด้วยภาษา PHP (ฉบับพ้ืนฐาน) อ.ชนิดา แก้วเพชร

Page |3

บทที่ 2 โปรแกรม Appserv

ความหมายของโปรแกรม AppServ
AppServ คือโปรแกรมที่รวบรวมเอา Open Source Software หลายๆ อย่างมารวมกัน โดยมี Package หลกั ดงั นี้
- Apache
- PHP
- MySQL
- phpMyAdmin
โปรแกรมต่างๆ ทน่ี ามารวบรวมไวท้ ั้งหมดนี้ ได้ทาการดาวน์โหลดจาก Official Release ทงั้ ส้นิ โดยตัว AppServ

จึงให้ความสาคัญว่าทกุ สง่ิ ทุกอย่างจะต้องใหเ้ หมือนกบั ตน้ ฉบบั เราจึงไม่ได้ตดั ทอนหรือเพิ่มเติมอะไรที่แปลกไปกวา่ Official
Release แตอ่ ย่างได้ เพยี งแต่มบี างสว่ นเทา่ นนั้ ที่เราได้เพิ่มประสทิ ธิภาพการตดิ ตง้ั ให้สอดคลอ้ ง กบั การทางานแตล่ ะคน โดย
ทก่ี ารเพิ่มประสิทธิภาพนไ้ี มไ่ ด้ไปยงุ่ ในสว่ นของ Original Package เลยแมแ้ ต่น้อยเพยี งแต่เปน็ การกาหนดค่า Config
เทา่ น้ัน เชน่ Apache ก็จะเป็นในส่วนของ httpd.conf, PHP ก็จะเปน็ ในสว่ นของ php.ini, MySQL ก็จะเปน็ ในส่วนของ
my.ini ดังนัน้ เราจึงรับประกันไดว้ า่ โปรแกรม AppServ สามารถทางานและความเสถียรของระบบ ได้เหมอื นกบั Official
Release ท้ังหมด

จุดประสงค์หลกั ของการรวมรวบ Open Source Software เหล่านเ้ี พอ่ื ทาใหก้ ารติดตง้ั โปรแกรมต่างๆ ทไ่ี ด้กลา่ วมา
ใหง้ า่ ยข้นึ เพือ่ ลดขั้นตอนการตดิ ตงั้ ท่ีแสนจะยุง่ ยากและใช้เวลานาน โดยผูใ้ ช้งานเพียงดับเบิล้ คลิก setup ภายในเวลา 1 นาที
ทุกอย่างก็ติดต้ังเสร็จสมบูรณ์ระบบต่างๆ ก็พร้อมที่จะทางานได้ทันทีทั้ง Web Server, Database Server เหตุผลน้ีจึงเป็น
เหตุผลหลกั ทห่ี ลายๆ คนท่วั โลก ได้เลือกใชโ้ ปรแกรม AppServ แทนการทจ่ี ะตอ้ งมาตดิ ต้ังโปรแกรมต่างๆ ที่ละสว่ น

เพราะไม่ว่าจะเป็นผู้ทคี่ วามชานาญในการติดตั้ง Apache, PHP, MySQL ก็ไม่ได้เป็นเรื่องงา่ ยเสมอไป เนื่องจากการ
ติดต้ังโปรแกรมที่แยกส่วนเหล่าน้ีให้มารวมเป็นช้ินอันเดียวกัน ก็ใช้เวลาค่อนข้างมากพอสมควร แม้แต่ตัวผู้พัฒนา AppServ
เอง ก่อนท่ีจะ Release แต่ละเวอร์ชั่นให้ดาวน์โหลด ต้องใช้ระยะเวลาในการติดต้ังไม่น้อยกว่า 2 ชั่วโมง เพ่ือทดสอบความ
ถูกต้องของระบบ ดังนั้นจึงจะเห็นว่าเราเองน้ันเป็นมือใหม่หรือมือเก่า ย่อมไม่ใช่เร่ืองง่ายเลยท่ีจะติดต้ัง Apache, PHP,
MySQL ในพริบตาเดยี ว

ข้อแตกตา่ งของ AppServ ในแต่ละเวอร์ช่ัน
AppServ ไดแ้ บ่งเวอร์ชนั่ ออกเปน็ 2 ส่วนดว้ ยกัน คือ
2.5.x คือเวอร์ชั่นท่ีนา Package ใหม่ๆ นามาใช้งานโดยเฉพาะ เหมาะสาหรับนักพัฒนาที่ต้องการระบบใหม่ๆ
หรือต้องการทดสอบ ทดลองใช้งานฟังก์ช่ันใหม่ ซึ่งอาจจะไม่ได้ความเสถียรของระบบได้ 100%
เนื่องจากว่า Package จากนักพัฒนานั้นยังอยู่ในช่วงของขั้นทดสอบ ทดลองเพื่อหาข้อผิดพลาดอยู่
2.4.x คือเวอร์ช่ันท่ีนา Package ท่ีมีความเสถียรเป็นหลัก เหมาะสาหรับผู้ท่ีต้องการความม่ันคงของระบบ
โดยไม่ไดม้ ุ่งเนน้ ทจี่ ะใชฟ้ ังกช์ ่นั ใหม่

การเขียนโปรแกรมบนเว็บด้วยภาษา PHP (ฉบับพ้ืนฐาน) อ.ชนดิ า แก้วเพชร

Page |4
ขน้ั ตอนการติดตงั้ โปรแกรม Appserv

ก่อนทาการติดต้ังโปรแกรม Appserv จะตอ้ งทาการตรวจสอบความต้องการขน้ั ต่าของระบบคอมพิวเตอร์ที่ใชต้ ดิ ต้ัง
โปรแกรม

1. ดาวนโ์ หลดโปรแกรม AppServ จากเว็บไซต์ http://www.appservnetwork.com หลังจากท่ีดาวนโ์ หลด
โปรแกรมเสรจ็ เรียบรอ้ ยแลว้ ดบั เบ้ลิ คลิกท่ีไอคอน Appserv เพ่อื ติดต้งั โปรแกรม

2. เขา้ สู่ข้ันตอนการตดิ ตั้งโปรแกรม ให้คลิกท่ีปุ่ม Next

การเขียนโปรแกรมบนเว็บด้วยภาษา PHP (ฉบับพน้ื ฐาน) อ.ชนดิ า แกว้ เพชร

Page |5

3. แสดงขอ้ ตกลง License Agreement คลิกที่ปุ่ม I Agree เพื่อยอมรบั เง่ือนไขการตดิ ต้ัง

4. ชุดตดิ ตง้ั โปรแกรมแสดง Directory ท่จี ะติดต้งั โปรแกรม (ซ่ึงผ้ลู งโปรแกรมไมจ่ าเปน็ ต้องเปลีย่ น
Directory) คลกิ ป่มุ Next

การเขียนโปรแกรมบนเว็บดว้ ยภาษา PHP (ฉบบั พนื้ ฐาน) อ.ชนิดา แกว้ เพชร

Page |6
5. แสดง Package ของโปรแกรมท่ีจะตดิ ตง้ั ให้เลือกองค์ประกอบ (Components) สาหรบั การติดตงั้

 แสดง package ท่ีจะตดิ ตงั้

Apache ทาหนา้ ทเ่ี ปน็ web server

MySQL ทาหน้าที่เปน็ ฐานข้อมูล

PHP ทาหนา้ ท่ีเปน็ script ตดิ ต่อกับฐานขอ้ มลู

phpMyAdmin ทาหนา้ ทเ่ี ปน็ โปรแกรมช่วยจัดการฐานข้อมูล ใหง้ า่ ยขึ้น

6. จะปรากฏหน้าจอสาหรบั ใหก้ รอกข้อมูลเซิฟเวอร์ของ (Server Information) ซง่ึ ประกอบดว้ ย

 ชื่อเซิฟเวอร์ หรือ ยูอาร์แอล (URL)
 อีเมลข์ องผดู้ ูแลเซิฟเวอร์
 พอรต์ สาหรับใช้งาน หรือติดต่อ

การเขยี นโปรแกรมบนเว็บด้วยภาษา PHP (ฉบับพ้นื ฐาน) อ.ชนิดา แก้วเพชร

Page |7

.7ขน้ั ตอนต่อไปคือการกาหนดค่าสาหรบั MySQL Server ซ่งึ ต้องระบุ
 รหสั ผา่ น (Password) สาหรับ root
 ชดุ ภาษา (Character Sets and Collations) ทใ่ี ช้

หลังจากกาหนดค่าดังกลา่ วแล้ว ให้กดปุ่ม Install

การเขียนโปรแกรมบนเว็บด้วยภาษา PHP (ฉบับพื้นฐาน) อ.ชนดิ า แกว้ เพชร

Page |8
8. หลังกาหนดคา่ สาหรับ mySQL Server แล้ว ตวั ติดตั้งจะดาเนินการตดิ ตั้งองค์ประกอบต่างๆ ลงในระบบ

9. เมื่อการตดิ ต้ังเสร็จสิน้ ให้กดปุ่ม Finish

การเขยี นโปรแกรมบนเว็บดว้ ยภาษา PHP (ฉบบั พื้นฐาน) อ.ชนิดา แกว้ เพชร

Page |9

10. ทดสอบการใชง้ านโปรแกรม Appserv โดยการเปดิ โปรแกรมบราวเซอร์ แลว้ พมิ พ์ URL ในชอ่ ง Address
http://localhost หรอื 127.0.0.1 หากโปรแกรมสามารถใชง้ านไดจ้ ะแสดงดังรปู

11. สาหรบั องคป์ ระกอบตา่ งๆ ของ AppServ จะถูกติดตง้ั ไว้ที่โฟลเดอร์ C:\AppServ สาหรบั ไฟล์ภาษา PHP ท่ี
เขียนขน้ึ ตอ้ งถกู บนั ทึกในโฟลเดอร์ www เทา่ น้นั

การเขยี นโปรแกรมบนเว็บดว้ ยภาษา PHP (ฉบบั พน้ื ฐาน) อ.ชนิดา แก้วเพชร

P a g e | 10

บทที่ 3 ความรเู้ บื้องต้นเก่ียวกบั ภาษา PHP

ภาษาพีเอชพีเป็นภาษาสาหรับใช้ในการเขียนโปรแกรมบนเว็บไซต์ สามารถเขียนได้หลากหลายโปรแกรม
เช่นเดียวกบั ภาษาท่ัวไป ภาษาพีเอชพีมคี วามแตกตา่ งจากภาษาเอชทีเอ็มแอล ( HTML) อยา่ งสน้ิ เชิงเพราะว่าภาษาเอชทเี อ็ม
แอลนน้ั เป็นภาษาท่ีใช้ในการจัดรูปแบบของเว็บไซต์ จัดตาแหน่งรปู จัดรูปแบบตัวอักษร หรือใส่สีสันให้กับเว็บไซต์ของเราซ่ึง
มีการทางานแบบสแทททิคเว็บไซต์ (Static Website) แต่ภาษาพีเอชพีนั้นเป็นภาษาที่ใช้ในการคานวณ ประมวลผล เก็บค่า
และทาตามคาสั่งต่างๆ อย่างเช่น รับค่าจากแบบฟอร์มหน้าเว็บที่เราทา รับค่าจากช่องคาตอบของเว็บบอร์ดและเก็บไว้เพื่อ
นามาแสดงผลต่อไป ซ่ึงเว็บไซต์ที่พัฒนาด้วยภาษาพีเอชพี เป็นเว็บไซต์ทีส่ ามารถโต้ตอบกบั ผู้ใช้งานได้ หรอื ทเ่ี รยี กว่าไดนามิก
เว็บไซต์ (Dynamic Website) อาจกล่าวได้ว่า เวบ็ ไซต์ต้องมีภาษาพเี อชพีเพื่อเป็นส่วนในการประมวณผลคาส่ังและควบคุม
การทางานของเว็บไซต์ และมีส่วนของภาษาเอชทีเอ็มแอล หรือ จาวาสคริปต์ (Java Script) ใช้เป็นเพียงแค่ตัวควบคุมการ
แสดงผลเทา่ นัน้

การกาเนิดภาษา PHP แตล่ ะเวอรช์ ั่น
PHP เกิดในปี 1994 โดย Rasmus Lerdorf โปรแกรมเมอร์อเมริกันได้คิดค้นสร้างเคร่ืองมือที่ใช้ในการพัฒนาเว็บ

ส่วนตัวของเขา โดยใช้ข้อดีของภาษา C และ Perl เรียกว่า Personal Home Page และได้สร้างส่วนติดต่อกับฐานข้อมูลที่
ช่ือว่า Form Interpreter ( FI ) รวมท้ังสองส่วน เรียกว่า PHP/FI ซ่ึงก็เป็นจุดเริ่มต้นของ ภาษาพีเอชพี หลังจากได้พัฒนา
เว็บไซต์ข้ึนมาก็มีผู้สนใจเข้ามาเย่ียมชมเว็บไซต์ของ Rasmus Lerdorf และมีความรู้สึกชื่นชอบจึงติดต่อเพ่ือนาโค้ดน้ันไปใช้
และนาไปพัฒนาต่อ ในลักษณะของ Open Source ภายหลังมีความนิยมข้ึนเป็นอย่างมาก เพียงระยะเวลาภายใน 3 ปีมี
เว็บไซต์ท่ีพัฒนาด้วย PHP/FI ในการติดต่อฐานข้อมูลและแสดงผลแบบไดนามิกก็เพ่ิมมากขึ้นเร่ือยและมีจานวนมากกว่า
50,000 เว็บไซต์

PHP2 (ในตอนน้ันใช้ชื่อว่า PHP/FI) ในช่วงระหว่าง 1995-1997 Rasmus Lerdorf ได้มีผู้ที่มาช่วยพัฒนาอีก 2 คน
คือ Zeev Suraski และ Andi Gutmans ชาวอิสราเอล ซ่ึงปรับปรุงโค้ดของ Lerdorf ใหม่โดยใช้ C++ ให้มีความสามารถ
จดั การเกี่ยวกับแบบฟอร์มข้อมูลท่ีถูกสร้างมาจากภาษาเอชทีเอ็มแอลและสนับสนุนการตดิ ต่อกับโปรแกรมจัดการฐานข้อมูล
mSQL จึงทาให้ภาษาพีเอชพี เร่ิมถูกใช้มากข้ึนอย่างรวดเร็ว และเร่ิมมีผู้สนับสนุนการใช้งานของภาษาพีเอชมากขึ้น โดยใน
ปลายปี 1996 ภาษาพีเอชพีถูกนาไปใช้ประมาณ 15,000 เวบ็ ท่ัวโลก และเพิ่มจานวนขึ้นเรือ่ ยๆ ตอ่ มาก็มผู้เข้ามาชว่ ยพัฒนา
อีก 3 คน คือ Stig Bakken รับผิดชอบความสามารถในการติดต่อ Oracle, Shane Caraveo รับผิดชอบดูแลภาษาพีเอชพี
บน Window 9x/NT, และ Jim Winstead รับผิดชอบการตรวจความบกพร่องต่างๆ และได้เปล่ียนช่ือเป็น Professional
Home Page ในเวอร์ช่ันท่ี 2

PHP3 ออกมาในช่วงระหวา่ งเดือน มิถุนายน 1997 ถึง 1999 ได้ออกสู่สายตาของนักโปรแกรมเมอร์ มีคุณสมบัติเด่น
คือสนับสนุนระบบปฏิบัติการทั้ง Window 95/98/ME/NT, Linux และเว็บเซร์ฟเวอร์ อย่าง IIS, PWS, Apache,
OmniHTTPd สนบั สนนุ ระบบฐานข้อมูลไดห้ ลายรปู แบบเชน่ SQL Server, MySQL, mSQL, Oracle, Informix, ODBC

PHP4 ต้ังแต่ 1999 - 2007 ซ่ึงได้เพิ่ม Functions การทางานในด้านต่างๆให้มากและง่ายขึ้นโดย บริษัท Zend ซึ่งมี
Zeev และ Andi Gutmans ได้ร่วมก่อต้ังขึ้น ( http://www.zend.com ) ในเวอร์ช่ันนี้จะเป็น compile script ซึ่งในเวอร์
ชั่นหน้านี้จะเป็น embed script interpreter ในปัจจุบันมีคนได้ใช้ PHP สูงกว่า 5,100,000 ไซต์ แลว้ ท่ัวโลก และ ผู้พัฒนา

การเขียนโปรแกรมบนเว็บดว้ ยภาษา PHP (ฉบบั พ้นื ฐาน) อ.ชนดิ า แกว้ เพชร

P a g e | 11

ได้ต้ังช่ือของ PHP ใหม่ว่า PHP: Hypertext Preprocessor ซึ่งหมายถึงมีประสิทธิภาพระดับโปรเฟสเซอร์สาหรับ
ไฮเปอรเ์ ทก็ ซ์

PHP5 ต้งั แต่ 2007-ปัจจุบนั มี ได้เพ่ิม Functions การทางานในด้านต่าง ๆ เชน่
* Object Oriented Model
* การกาหนดสโคป public/private/protected
* Exception handling
* XML และ Web Service
* MySQLi และ SQLite
* Zend Engine 2.0

รายชือ่ ของนกั พฒั นาภาษาพเี อชพี ท่เี ปน็ แกน่ สาคญั ในปจั จบุ นั มดี งั ตอ่ ไปนี้
* Zeev Suraski, Israel
* Andi Gutmans, Israel
* Shane Caraveo, Florida USA
* Stig Bakken, Norway
* Andrey Zmievski, Nebraska USA
* Sascha Schumann, Dortmund, Germany
* Thies C. Arntzen, Hamburg, Germany
* Jim Winstead, Los Angeles, USA
* Rasmus Lerdorf, North Carolina, USA

การทางานของภาษาพเี อชพี
การทางานของภาษาพีเอชพี เริ่มจากฝ่ังไคลเอ็นต์เปิดเว็บบราวเซอร์เพ่ือร้องขอไฟลพ์ ีเอชพี โปรแกรมเว็บบราวเซอร์

จะรอ้ งขอไฟล์พีเอชพที ีเ่ ก็บในเคร่ืองเซริ ์ฟเวอร์ จากนั้นฝ่ังเซริ ฟ์ เวอรจ์ ะทาการค้นหาไฟล์พเี อชพีและเรียกใชง้ าน PHP engine

เพื่อแปลงไฟล์พีเอชพีและนาขอ้ มูลในฐานขอ้ มลู มาใชร้ ่วมกบั ประมวลผลไฟล์พีเอชพี และส่งผลลัพธ์จากการประมวลผลไปให้
เครือ่ งไคลเอน็ ต์ โดยการแปลงผลลัพธ์ทไ่ี ด้จากการประมวลผลเปน็ ภาษาเอชทเี อ็มแอลสง่ กลับไปยงั เว็บบราวเซอร์

การเขยี นโปรแกรมบนเว็บดว้ ยภาษา PHP (ฉบับพืน้ ฐาน) อ.ชนดิ า แก้วเพชร

P a g e | 12
โครงสร้างภาษาพเี อชพี

ภาษาพีเอชพี มีลักษณะเป็น embedded script หมายความว่าเราสามารถฝังคาส่ังพีเอชพีไว้ในเว็บเพจร่วมกับ
คาส่ัง (Tag) ของเอชทีเอ็มแอลได้ และสร้างไฟล์ท่ีมีนามสกุลเป็น .php, .php3 หรือ .php4 ซ่ึงไวยากรณ์ท่ีใช้ใน PHP เป็น
การนารปู แบบของภาษาตา่ งๆ มารวมกันไดแ้ ก่ C, Perl และ Java

คาสั่ง PHP ที่อยู่ภายในเอกสาร HTML จึงได้มีการกาหนดสัญลักษณ์ไว้ดังนี้ ซึ่งสามารถทาได้หลายรูปแบบ เช่น
แบบที่ 1
<? ... ?> (SGML style)
ตัวอย่างแบบที่ 1

แบบที่ 2
<?php ... ?> (XML style)

ตวั อยา่ งแบบที่ 2

แบบท่ี 3
<script language="php"> ... </script> (JavaScript style)
ตัวอยา่ งแบบท่ี 3

การเขยี นโปรแกรมบนเว็บดว้ ยภาษา PHP (ฉบับพ้ืนฐาน) อ.ชนดิ า แก้วเพชร

P a g e | 13

การแทรกคาส่งั ภาษา PHP ในเอกสาร HTML
ที่นิยมก็คือแบบแรก โดยเริ่มต้นด้วย <? และจบด้วย ?> และตรงกลางจะเป็นคาส่ังในภาษา PHP เราสามารถวาง

คาสง่ั PHP ไวภ้ ายในเอกสาร HTML ตามที่ต้องการได้ อาจจะสลบั กบั Tag ของภาษา HTML กไ็ ด้ ตวั อยา่ งเช่น

คาสงั่ แรกท่ีง่ายท่ีสุดสาหรับการเรยี นรู้ ก็คือคาส่ัง echo แลว้ ตามด้วยขอ้ ความหรือสตริงค์ (string) ข้อความในภาษา
PHP จะเริ่มต้นและจบด้วย double quote (") เหมือนในภาษาซี และคาส่ังแต่ละคาส่ังในภาษา PHP จะจบท้ายคาสั่งด้วย
semicolon (;) เหมอื นในภาษาซี ซง่ี คาสั่งหรอื ฟังกช์ ันในภาษา PHP นนั้ จะเขียนดว้ ยตวั พิมพ์เลก็ หรอื ใหญ่

คาอธบิ าย(หมายเหตุ)ในภาษา PHP (Comment)
การใส่หมายเหตุ (Comment) ในสคริปต์ PHP สามารถทาไดส้ องวิธี คือ การใส่หมายเหตเุ ฉพาะบรรทดั และการใส่

หมายเหตุ แบบหลาย ๆ บรรทัด ซึง่ สามารถแบ่งรูปแบบการคอมเม้นท์ได้สามรูปแบบดว้ ยกัน
การใสห่ มายเหตุ วธิ ที ี่ 1 ใชเ้ คร่ืองหมาย # หรอื //
ขอ้ ความทต่ี ามหลงั เครือ่ งหมายนี้ จนถงึ ตัวอกั ษรตวั สดุ ท้ายของบรรทัดนั้น ๆ จะไม่ถูกแสดงผลออกทางหน้าจอ

ตวั อย่างการเขยี น

การใส่หมายเหตุ วธิ ที ี่ 2 ใช้เคร่ืองหมาย /* รว่ มกับ */ อ.ชนดิ า แก้วเพชร
การเขยี นโปรแกรมบนเว็บดว้ ยภาษา PHP (ฉบับพื้นฐาน)

P a g e | 14
การใสห่ มายเหตแุ บบนเี้ ปน็ การใสแ่ บบเปน็ ชว่ งของข้อมลู โดยสามารถควบคุมบรเิ วณท่ีไมต่ ้องการใหแ้ สดงผลออกทางจอภาพ
ได้มากกว่า 1 บรรทัด
ตัวอยา่ งการเขียน

ทดลองเขียนภาษา PHP ครง้ั แรก
การ Set คา่ Editpuls รัน PHP
วธิ กี าร
1. เลอื ก Tools ทแ่ี ถบเครือ่ งมอื เลอื ก Configure User Tools
2. เลอื ก คาว่า Tools แล้วเลอื ก Add
Web server IP or hostname ให้พมิ พ์ http://localhost/ช่ือโฟล์เดอรส์ าหรับเก็บไฟล์ PHP
หรือ http://127.0.0.1/ชอ่ื โฟล์เดอร์สาหรบั เกบ็ ไฟล์ PHP
Web server root directory ใหเ้ ลอื ก C:\Appserv\www\ช่อื โฟล์เดอรส์ าหรับเก็บไฟล์ PHP
3. คลกิ OK

การเขียนโปรแกรมบนเว็บดว้ ยภาษา PHP (ฉบบั พืน้ ฐาน) อ.ชนิดา แก้วเพชร

P a g e | 15

หมายเหตุ คีย์รันสาหรบั รนั php บน Editplus คอื Ctrl+B

ทดลองเขียนสคิปต์ภาษาพเี อชพี คลกิ เลือก Other… เลอื ก PHP
1. เปดิ โปรแกรม EditPlus เลอื ก ไอคอน

การเขยี นโปรแกรมบนเว็บด้วยภาษา PHP (ฉบบั พน้ื ฐาน) อ.ชนดิ า แก้วเพชร

P a g e | 16
2. ทดลองเขยี นสคิปต์ภาษาพีเอชพี และ บนั ทึกไฟลล์ ง C:\Appserv\www\ชื่อโฟล์เดอร์สาหรบั เกบ็ ไฟล์ PHP

3. หลงั จากน้ันเลอื ก UTF-8+BOM เพอื่ ลองรบั ภาษาไทย
4. ทดลองรนั โปรแกรมโดยการกดปุ่ม Ctrl+B

การเขียนโปรแกรมบนเว็บด้วยภาษา PHP (ฉบับพื้นฐาน) อ.ชนดิ า แกว้ เพชร

P a g e | 17

บทที่ 4 ชนดิ ข้อมูล ตวั แปรและตวั ดาเนนิ การในภาษาพีเอชพี

ชนดิ ขอ้ มูล (Data Type)
การสร้างตัวแปรในภาษา PHP ผู้เขียนโปรแกรมไม่จาเป็นต้องประกาศชนิดของตัวแปรน้ันๆ เหมือนการเขียน

โปรแกรมในภาษาอ่ืนๆ เพียงแค่กาหนดค่าให้กับตัวแปร ตัวแปรน้ันๆ ก็จะถูกประกาศ (cast) ให้เป็นชนิดตามข้อมูลท่ีได้
กาหนดเข้าไป ภาษา PHP พฒั นามาจากภาษา C จงึ มชี นดิ ขอ้ มลู ทค่ี ล้ายกัน แตไ่ ด้ตัดชนดิ ขอ้ มลู ทีซ่ า้ ซ้อนกนั ออกไป

• ชนิดข้อมูลกลุ่มแรก สามารถเก็บได้เพียงข้อมูลเดียว (Scalar Datatypes) เป็นชนิดข้อมูลที่เก็บค่าไว้ได้เพียงชนิด
เดียว มที ัง้ หมด 4 ชนดิ คือ

Boolean เก็บข้อมูลเพียง 2 ค่าคือ true กับ false เท่าน้ัน ใช้ในคาสั่งเปรียบเทียบ เพื่อเลือกเส้นทางการ
ทางานของโปรแกรม และตัวแปรทุกๆ ตัว ถือว่าเป็นตัวแปรชนิด Boolean ด้วยเหมือนกัน ถ้าหากนาไปใช้ในคาส่ัง
เปรยี บเทยี บ จะได้ค่าที่เป็น true กลับมาทง้ั หมด ยกเว้นตวั แปรทเี่ ก็บคา่ 0 เท่านน้ั จะได้คา่ เปน็ false

Integer หรือ จานวนเต็ม ถ้าหากกาหนดข้อมูลท่ีมีเลขทศนิยม ตัวแปรน้ันๆ จะถูกประกาศให้เป็น Float
โดยอตั โนมัติ ตวั แปรชนิดจานวนเตม็ สามารถเกบ็ ข้อมลู ไดท้ ั้งบวกและลบตามเลขฐาน 3 ชนิดคอื

- ฐานสบิ (Decimal) กาหนดตัวเลขเขา้ ไปตรงๆ เลย เป็นเลขฐานทค่ี นค้นุ เคยมากทส่ี ุด
- ฐานแปด (Octal) เตมิ เลข 0 เข้าไปขา้ งหนา้ ตวั เลขชดุ น้นั ก่อน
- ฐานสบิ หก (Hexadecimal) เติม 0x เข้าไปข้างหน้าตวั เลขชุดน้ัน

การเขียนโปรแกรมบนเว็บด้วยภาษา PHP (ฉบบั พ้ืนฐาน) อ.ชนิดา แก้วเพชร

P a g e | 18
Float หรือ Double หรอื จานวนจรงิ ตัวเลขทุกตวั ที่มีทศนิยมไมว่ ่าจะเป็นบวกหรอื ลบจะถือวา่ เป็นจานวน

จรงิ ท้ังหมด

String เป็น ข้อความ หรือ ตัวอักษร ในภาษา PHP ไม่มีตัวแปรแบบ char เพราะฉะนั้น ข้อความทุกข้อความ
จะถือวา่ เป็น string ท้ังหมด ตัวแปร string จะถูกกาหนดอย่ภู ายใน ' (single quote) หรือ " (double quote) กไ็ ด้

นอกจากนี้เรายังสามารถเข้าถึงตัวอักษรภายใน string ได้โดยมองตัวแปร string น้ันเป็น array ตัวหนึ่ง และเข้าถึง
ขอ้ มลู ภายในโดยการอ้างตัวแปรแบบ array

• ชนิดข้อมูลกลุ่มท่ีสอง เก็บข้อมูลได้หลายๆ แบบในตัวเดยี วกัน (Compound Datatypes) เป็นตัวแปรท่ีเกบ็ ขอ้ มูล
ไดห้ ลายๆ คา่ ในตัวแปรตัวเดียวมี 2 ชนิดคอื

Array (อาเรย์) เป็นชุดข้อมูลที่มีค่าหลายๆ ค่า ในตัวเดียว โดยไม่จาเป็นต้องเป็นข้อมูลชนิดเดียวกัน
หมายความว่าเราสามารถเก็บข้อมูล Integer, Float, String ไว้ในตัวแปรตัวเดียวกันได้ โดยใช้เครื่องหมาย [...] และมี key
เป็นตัวแยกชดุ ข้อมลู น้นั ๆ

ตัวแปรอาเรย์ใน PHP จะแบ่งเป็น 2 ชนิดใหญ่ๆ คือ อาเรย์ธรรมดา และ อาเรย์แบบจับคู่ (Associative
Array)

- อาเรยธ์ รรมดา กค็ ืออาเรย์แบบทั่วๆ จะอา้ งองิ โดยใช้ key เปน็ หมายเลขตาม index
ตัวแปรอาเรย์เริ่มจากเลข 0 ไปจนหมดขอ้ มลู อาเรย์ ตัวอย่างการสร้างอาเรย์

การเขยี นโปรแกรมบนเว็บด้วยภาษา PHP (ฉบับพน้ื ฐาน) อ.ชนิดา แก้วเพชร

P a g e | 19

ใน PHP เราสามารถกาหนดคา่ ในอาเรยโ์ ดยไม่ตอ้ งกาหนด index ก็ได้ เช่น

- อาเรย์แบบจับคู่ หรือ Associative Array ตามปกติ key ท่ีใช้อ้างอิงอาเรย์จะเป็นตัวเลข 0 ไป
จนถึงตวั สุดทา้ ยของอาเรย์ แตเ่ ราสามารถใชข้ ้อความมาเปน็ key เพือ่ อา้ งองิ ค่าในอาเรยน์ น้ั ๆ ได้ ตวั อย่างการสร้างอาเรย์

การเขียนโปรแกรมบนเว็บด้วยภาษา PHP (ฉบับพื้นฐาน) อ.ชนิดา แกว้ เพชร

P a g e | 20

ตัวแปร(Variable)

การกาหนดและใชต้ ัวแปร (variable) ในภาษา PHP จะเหมือนกบั ในภาษา Perl คือเร่ิมต้นด้วยเครื่องหมาย

dollar ($) และไม่จาเปน็ ต้องกาหนดชนิดของข้อมูล (data type) อย่างเจาะจงเหมือนในภาษาซี เพราะว่า ตวั แปลภาษาจะ

จาแนกเองโดยอัตโนมตั ิวา่ ตัวแปรดังกล่าว ใชข้ อ้ มลู แบบใด ในช่วงเวลาน้ันๆ เช่น ข้อความ จานวนเตม็ จานวนท่ีมเี ลขจดุ

ทศนยิ ม ตรรก เปน็ ต้น

1. การประกาศตัวแปร

รูปแบบ $var = value;

คาอธิบาย

$var = ช่ือตวั แปร

value= คา่ ของตัวแปร

ตัวอย่าง

2. หลักการตัง้ ชอื่ ตัวแปร
 ข้ึนตน้ ดว้ ยเครืง่ หมาย $ แลว้ ตามดว้ ยตัวอักษร A-Z,a-z หรือเครื่องหมาย_ (Underscore)
 มีความยาวไมเ่ กนิ 255 ตัวอกั ษร
 ห้ามขึน้ ต้นดว้ ยตัวเลข แต่สามารถใช้ตัวเลขประกอบในช่อื ตัวแปรได้
 ห้ามมจี ุดทศนิยม ช่องวา่ ง หรือเวน้ วรรค ภายในช่ือตัวแปร
 ห้ามใช้สญั ลกั ษณ์ทางคณติ ศาสตร์หรอื สญั ลักษณ์พเิ ศษประกอบเป็นชื่อตัวแปร
 ห้ามต้งั ช่อื ตวั แปรตรงกบั คาสงวน เช่น $if, $else, $do เปน็ ต้น
 การใชต้ ัวอกั ษรพิมพ์เล็กกบั ตัวอกั ษรพิมพใ์ หญ่ แม้จะสื่อถึงคา ๆ เดียวกัน แตถ่ ือวา่ ตัวแปรนั้น เปน็ ตวั แปร
คนละตวั ที่เรียกวา่ Case-Sensitive
 การต้งั ชือ่ ตวั แปรหากตงั้ ชื่อเดียวกนั ทกุ ประการ ตวั แปรทีสร้างใหมน่ ั้นจะทับคา่ ตวั แปรเดิม

การเขยี นโปรแกรมบนเว็บดว้ ยภาษา PHP (ฉบบั พ้ืนฐาน) อ.ชนิดา แกว้ เพชร

P a g e | 21

ตัวดาเนนิ การ (Operator)
ตวั ดาเนินการ (Operators) เป็นสญั ลกั ษณ์ทีใ่ ชก้ าหนดรปู แบบการประมวลผลข้อมูล ซ่ึงแบ่งไดห้ ลายประเภท เชน่

ตัวดาเนินการเกย่ี วกับการคานวณทางคณิตศาสตร์ การเปรียบเทยี บ และการประมวลผลทางด้านตรรกะ (Logic) เป็นตน้
นิพจน์ (Expressions) คือ การกระทาเพื่อให้ได้ผลลพั ธ์ค่าหนงึ่ คา่ ประกอบไปด้วยตัวถกู กระทา (Operands) และ

ตัวดาเนนิ การ (Operators) เขียนเรียงกันไป เชน่ 3 * 2 - 1 + 7 หรอื a * 5 เป็นต้น
1. ตัวดาเนนิ การทางคณิตศาสตร์ (Arithmetic Operator) เป็นตวั ดาเนนิ การทใ่ี ชด้ าเนินการกบั ตัวเลขมีดังนี้

ตัวดาเนนิ การ ชอ่ื ตวั อย่าง ผลลัพธ์
+ บวก (Add) 7+3 10
- ลบ (Minus) 8-4 4
* คณู (Multiply) 6*2 12
/ หาร (Divide) 5/2 2.5
% หารเอาเศษ (Modulus) 10%3 1

การประมวลผลทางด้านคณิตศาสตร์เก่ยี วกับการบวก ลบ คณู หาร และการหารเอาเศษ ซึ่งจะมีลาดบั การ
คานวนของเครื่องหมายทางคณิตศาสตร์ดงั ต่อไปน้ี

1. วงเลบ็ (…(…)…) โดยจะทาการคานวนจากขา้ งในไปขา้ งนอก
2. เครอื่ งหมายหาร ( / ) เคร่ืองหมายคูณ ( * ) และการหารเอาเศษ ( % )
3. เครอ่ื งหมายบวก ( + ) เครื่องหมายลบ ( - )
4. ถา้ เปน็ เครื่องหมายเดยี วกัน การคานวนจะทาจากด้านซ้ายไปดา้ นขวา
5. การคานวนจะคานวนสมการทางด้านขวาให้เสร็จกอ่ น แลว้ จึงนาไปให้กบั ตัวแปรทางด้านซา้ ย
2. ตวั ดาเนนิ การทางดา้ นการเปรียบเทียบ (Comparison Operator) เปน็ การเปรียบเทยี บกันระหวา่ งข้อมูล หรอื
ตัวถกู ดาเนินการ อย่างน้อย 2 จานวน โดยทก่ี ารเปรียบเทียบนน้ั จะทาการเปรยี บเทียบทีละ 2 จานวน และผลลัพธท์ ีไ่ ด้จะอยู่
ในรูปตรรกะ (Boolean) คอื True (จรงิ ) และ False (เท็จ) ถา้ มีการเปรยี บเทียบมากว่า 2 จานวน จะทาการเปรยี บเทียบ
จากดา้ นซา้ ยมือไปขวามือหรือภายในวงเล็บก่อน โดยมกี ารเชอ่ื มดว้ ยตรรกะ เช่น and (และ) or (หรอื )

ตัวดาเนินการ ชอ่ื การเปรียบเทยี บ ผลลพั ธ์
== เทา่ กับ $a == $b จริงถ้า $a มีค่าเท่ากบั $b
!= ไมเ่ ท่ากับ $a != $b จรงิ ถ้า $a มีคา่ ไม่เท่ากบั $b
=== เท่ากนั $a===$b จรงิ ถ้า $a เท่ากบั $b และชนดิ ขอ้ มูลเหมือนกนั
> มากกวา่ $a > $b จรงิ ถา้ $a มีคา่ มากกว่า $b
>= มากกว่าหรือเท่ากบั $a >= $b จรงิ ถา้ $a มีคา่ มากกวา่ หรอื เทา่ กบั $b
< น้อยกวา่ $a < $b จริงถา้ $a มีค่าน้อยกว่า$b
<= นอ้ ยกว่าหรอื $a <= $b จริงถ้า $a มคี ่าน้อยกว่าหรอื เท่ากบั $b
เท่ากบั
อ.ชนดิ า แกว้ เพชร
การเขียนโปรแกรมบนเว็บดว้ ยภาษา PHP (ฉบับพ้นื ฐาน)

P a g e | 22

3. ตวั ดาเนินการทางด้านการตรรกศาสตร์ (logical Operator) ตวั ดาเนินการทางตรรกะ จะนาข้อมูลสองคา่ มา
กระทาทางลอจกิ ต่อกนั เม่ือกระทาค่าใดผลลัพท์ทอ่ี อกมาจะเป็นจรงิ หรือเทจ็

ตัวดาเนนิ การ ชอ่ื การเปรียบเทียบ ผลลัพธ์
&& หรอื and และ $a && $b หรอื $a and จริงถา้ $a และ $b เป็นจรงิ ท้ังคู่

|| หรือ or หรอื $b จริงถ้า $a หรอื $b เพียงตวั ใดตัวหนงึ่ เปน็ จรงิ
$a || $b หรือ $a or $b หรือเปน็ จรงิ ทั้งคู่
! หรือ not ไม่หรือนิเสธ จริงถา้ $a เปน็ เท็จ, เท็จถา้ $a เป็นจรงิ
!$a

4. ตวั ดาเนนิ การกาหนดคา่ (Assignment Operator) เปน็ ตัวดาเนินการที่ใช้ในการกาหนดค่าใหก้ ับตวั แปรทอี่ ยู่

ทางด้านซา้ ยของตวั ดาเนินการ ด้วยคา่ ของตัวแปรที่อยู่ทางขวา แลว้ นาผลลัพธ์ท่ไี ด้เกบ็ ไว้ในตวั แปรเดิม เปน็ การเขียนคาสง่ั

ในรูปแบบย่อลงมา

ตวั ดาเนินการ ชือ่ ตัวอย่าง ผลลพั ธ์

= กาหนดค่า (กาหนดให้ตัวแปรทางดา้ นซา้ ยมคี า่ เทา่ กับค่าท่ี $a=5 $a มีค่าเท่ากบั 1

ระบ)ุ $a = 1

+= เพ่ิมค่า (นาค่าทก่ี าหนดไปบวกเพิม่ จากค่าเดมิ ตวั แปร) $a=7 $a มีค่าเทา่ กับ 9

$a += 2

-= ลบคา่ (ลดคา่ ตัวแปรลงเทา่ กับคา่ ทีร่ ะบุ) $a=20 $a มีค่าเทา่ กับ 15

$a -= 5

*= คูณคา่ (คูณค่าเดมิ ของตัวแปรดว้ ยคา่ ทีร่ ะบุ) $a=10 $a มีคา่ เทา่ กบั 40

$a *= 4

/= หารคา่ (หารค่าเดิมของตัวแปรดว้ ยค่าที่ระบุ) $a=7 $a มคี ่าเท่ากับ 3.5

$a /= 2

%= หารคา่ แบบเก็บเศษ (นาคา่ ทร่ี ะบุไปหารค่าเดิมของตัวแปร $a=10 $a มีคา่ เทา่ กับ 1

แต่จะเอาเฉพาะเศษจากการหารเท่าน้นั ) $a %= 3

.= เชื่อมข้อความ ( ใชใ้ นการเช่ือมต่อข้อความโดยนาข้อความ $a= “Hello” $a มคี ่าเทา่ กับ

ด้านขวามือไปต่อทา้ ยข้อความดา้ นซา้ ยมือ) $a.= “PHP” “Hello PHP”

การเขียนโปรแกรมบนเว็บด้วยภาษา PHP (ฉบับพื้นฐาน) อ.ชนิดา แก้วเพชร

P a g e | 23

5. ตวั ดาเนินการเพ่ิมและลดคา่ เปน็ ตวั ดาเนนิ การทีใ่ ชส้ าหรบั การเพิ่มค่าตวั แปรครั้งละ 1 หรือลดคา่ ตัวแปรลง
ครั้งละ 1 แต่มีการเรยี กใช้งานแตกต่างกันไปตามตาแหน่งของตวั ดาเนนิ การวา่ วา่ ดา้ นหนา้ หรือด้านหลงั ทาให้มผี ลตา่ งกัน

ตวั ดาเนินการ ชื่อ ตัวอยา่ ง ผลลัพธ์

++ เป็นการเพ่ิมตวั แปรขน้ึ ไปอีก 1 เช่น ++$a $a ทาใหค้ า่ ของตัวแปรขณะเรยี กใช้งานตัว
ดาเนนิ การมีคา่ เพิ่มขนึ้ 1 ค่า

$a++ $a ทาใหค้ ่าของตัวแปรขณะเรยี กใชง้ านตวั
ดาเนินการมีค่าคงที่ แต่หลงั เรียกใช้งานตัวดาเนนิ มี
คา่ เพิ่มขน้ึ 1 ค่า

-- เปน็ การลดค่าตวั แปรลงอีก 1 --$a $a ทาใหค้ า่ ของตัวแปรขณะเรียกใช้งานตวั
ดาเนินการมีค่าลดลง 1 ค่า

$a-- $a ทาใหค้ ่าของตวั แปรขณะเรียกใช้งานตวั
ดาเนนิ การมีค่าคงที่ แต่หลงั เรียกใช้งานตัวดาเนนิ มี
ค่าลดลง 1 คา่

การเขียนโปรแกรมบนเว็บด้วยภาษา PHP (ฉบับพ้นื ฐาน) อ.ชนดิ า แก้วเพชร

P a g e | 24

ตัวอยา่ ง

ผลการรันของโปรแกรม

การเขียนโปรแกรมบนเว็บด้วยภาษา PHP (ฉบบั พ้นื ฐาน) อ.ชนิดา แก้วเพชร

P a g e | 25

บทที่ 5 การสรา้ งฟอร์ม HTML และการรับ ส่งคา่ ขอ้ มลู ในภาษา PHP

ฟอร์ม (Form) เป็นเครอ่ื งมือสาหรับใชใ้ นการรับขอ้ มลู จากผู้ใชง้ านเวบ็ ไซตผ์ ่านเวบ็ บราวเซอร์ และส่งขอ้ มลู นัน้ ต่อไป
ยังเว็บเซิร์ฟเวอร์เพ่ือประมวลผลต่อไป ตัวอย่างแบบฟอร์มท่ีใช้กันทั่วไปเช่น การสมัครสมาชิกผ่านเว็บไซต์ การตอบ
แบบสอบถามออนไลน์ การแสดงความคิดเห็นผา่ นเวบ็ ไซต์ เปน็ ต้น
การสรา้ งฟอร์ม HTML

รูปแบบ < form name="ชือ่ ฟอร์ม" method="วธิ ีส่งขอ้ มูล" action="ชือ่ ไฟล์สครปิ ตท์ จ่ี ะเรยี กขึ้นมาใชง้ าน">
ตัวอย่าง <form name= “frmRegis” method= “post” action= “regis.php”>

สาหรับวิธีการส่งข้อมูลผ่านฟอร์มน้ันสามารถเลือกใช้งานได้จาก 2 รูปแบบ คือ POST หรือ GET ขึ้นอยู่กับความ

เหมาะสมของงาน ซึง่ ความแตกตา่ งของ POST และ GET จะกลา่ วในหัวขอ้ ต่อไป

องคป์ ระกอบตา่ งๆ ของฟอรม์ รับขอ้ มูล

1. กล่องรับข้อความบรรทัดเดียว (Textfield) กล่องรับข้อความบรรทัดเดียวจะใช้กรอกข้อความส้ันๆ เช่นชื่อ,

นามสกลุ , เบอรโ์ ทรศัพท,์ หรอื อเี มล์ เป็นตน้

รปู แบบ

< input type="text" name="ช่ือกล่องข้อความ" size="ความกวา้ งกล่องรับข้อความ" maxlength="จานวนตวั อักษรสูงสุด">

ตวั อย่าง

< input type="text" name="user" size="25" maxlength="25">

2. กลอ่ งรับรหัสผา่ น (PasswordField) กล่องรบั รหสั ผา่ นจะรับข้อมลู เป็นรหัสผา่ นโดยเฉพาะ เน่อื งจากผู้ใช้กรอก

ขอ้ มลู ลงในกลอ่ งรับรหัสผา่ นจะปรากฏเป็นเคร่ืองหมายดอกจัน (*) แทนตัวอักษรแตล่ ะตัวในรหัสผ่าน

รูปแบบ

< input type="password" name="ชื่อกล่องข้อความ" size="ความกว้างกล่องรับข้อความ" maxlength="จานวนตัวอักษร

สงู สดุ ">

ตวั อย่าง

< input type="password" name="Pwd" size="8" maxlength="8”>

3. กล่องรับข้อความหลายบรรทัด (TextArea) กล่องรับข้อความหลายบรรทัดเหมาะสาหรับเปน็ กล่องรบั ขอ้ ความ

ยาวๆ เชน่ กลอ่ งรับทีอ่ ยู่ หรอื กล่องรบั ความคิดเหน็ เปน็ ต้น

รปู แบบ

< textarea name="ชื่อกลอ่ งข้อความ" cols="จานวนของตวั อกั ษรใน 1 บรรทัด" rows="จานวนบรรทดั ">ขอ้ ความ

< /textarea>

4. การใช้ปุม่ ตวั เลอื ก การสรา้ งข้อมลู เปน็ แบบปุ่มตัวเลอื กซ่งึ มีอยู่ 2 ประเภทหลักด้วยกนั คือ

1. ปุ่มตัวเลือกแบบเรดิโอ (Radio) ลักษณะของ ปุ่มตัวเลือกแบบ Radio คือ ใน 1 ชุดคาถามผู้ใช้สามารถเลือก

คาตอบไดเ้ พียงแค่ 1 คาตอบเท่านั้น เช่นข้อมูลประเภท เพศ, ศาสนา หรือข้อสอบท่เี ลือกตอบไดเ้ พียงคาตอบเดยี วเทา่ นน้ั

รูปแบบ

<input type="radio" name="ช่ือของกลุ่มตัวเลือก" value="คา่ ของตัวเลือก"/>ข้อความท่ีตอ้ งการใหแ้ สดง

ตวั อยา่ ง

การเขียนโปรแกรมบนเว็บดว้ ยภาษา PHP (ฉบบั พื้นฐาน) อ.ชนิดา แก้วเพชร

P a g e | 26

<input type="radio" name="gender" value="meal"/>ชาย
<input type="radio" name="gender" value="female"/>หญิง

2. ปุ่มตวั เลือกแบบเช็คบอ็ กซ์ (CheckBox) ลกั ษณะของปุม่ แบบ Checkbox คือสามารถเลือกได้มากกว่า 1
ตวั เลอื ก เชน่ เลือกเกย่ี วกับความชอบ หรือเลือกข้อสอบท่ใี ห้เลือกตอบมากกว่า 1 ข้อ เป็นตน้

รูปแบบ
< input type="checkbox" name="ช่ือของตวั เลือก" value="คา่ ของตัวเลือก" />ข้อความทีต่ ้องการให้แสดง
ตัวอย่าง
<input type="checkbox" name="Hobby" value="อ่านหนังสอื "> อ่านหนังสือ
<input type="checkbox" name=" Hobby " value="ดูทวี ี"> ดทู วี ี

5. กลอ่ งรับข้อมูลแบบตวั เลือก (List/Menu) เปน็ กลอ่ งรับข้อมลู ทีม่ ลี กั ษณะเปน็ เมนตู ัวเลือกในลักษณะ Drop
down Menu ผูใ้ ช้สามารถคลกิ เมา้ ส์เลือกรายการตวั เลือกได้ 1 รายการเท่าน้ันจากรายการทง้ั หมดทแี่ สดง
รปู แบบ
< select name="ชื่อกล่องตัวเลือก">
< option value="ค่าของตัวเลอื กที่ 1" selected="select">ช่อื ตวั เลอื กที่ 1< /option>
< option value="ค่าของตัวเลอื กท่ี 2">ช่อื ตัวเลือกท่ี 2< /option>
< option value="ค่าของตัวเลือกที่ n">ชอ่ื ตวั เลอื กที่ n< /option>
< /select>
ตัวอยา่ ง
< select name="beverage">
<option value="IcedTea" >ICED TEA </option>
<option value="LemonTea"> LEMON TEA </option>
<option value="COFF" >COFFEE </option>
< /select>

6. ป่มุ แบบซบั มิท (Submit) หรอื ปมุ่ ส่งข้อมูล ทาหน้าที่ส่งข้อมูลทผี่ ู้ใชก้ รอกไปประมวลผลต่อยังสครปิ ต์ทตี่ อ้ งการ
เมอ่ื ผูใ้ ช้คลกิ ท่ปี ุม่ ข้อมลู จะถูกสง่ จากฟอร์มผ่านเบราเซอร์ไปยังเซริ ์ฟเวอร์
รปู แบบ
<input type= “submit” value= “ข้อความทปี่ รากฏบนปุ่ม”>
ตัวอย่าง
<input type= “submit” value= “Save”>

7. ปมุ่ แบบรเี ซต (Reset) หรอื ปุ่มล้างขอ้ มูล ทาหน้าทีล่ บข้อมูลทง้ั หมดที่กรอกเขา้ มาในฟอร์มขณะนน้ั ออกไป
เหมือนกบั การเคลียร์ค่าทัง้ หมดเพื่อใหผ้ ู้ใชก้ รอกข้อมลู ใหม่
รปู แบบ

การเขียนโปรแกรมบนเว็บด้วยภาษา PHP (ฉบับพ้นื ฐาน) อ.ชนดิ า แกว้ เพชร

P a g e | 27

<input type= “reset” value= “ข้อความที่ปรากฏบนปุ่ม”>
ตวั อยา่ ง
<input type= “reset” value= “Cancel”>

การรับ ส่งคา่ ขอ้ มูลในภาษา PHP
ในการเขียนโปรแกรมบนเว็บการรับ ส่งค่าข้อมูลจากภาษาพีเอชพีเพื่อนาไปประมวลต่อไป หรือการส่งข้อมูลไปยัง

เว็บเซิร์ฟเวอร์ก็เป็นส่ิงสาคัญ อย่างหน่ึงเช่นกัน การรับ ส่งค่าในภาษาพเอชพีนั้นมีท้ังรูปแบบ วิธีการและการนาไปใช้ท่ี

แตกต่างกนั ผู้พฒั นาโปรแกรมตอ้ งเลอื กวิธกี ารสง่ คา่ ใหเ้ หมาะสมกบั งานเพื่อใหเ้ ว็บไซต์ทพี่ ฒั นามปี ระสิทฺภาพ

รปู แบบการรับ สง่ คา่ ของภาษาพเอชพี
การรบั สง่ ค่าข้อมูลในภาษาพีเอช มีรูปแบบ 2 รปู แบบคือ
1. แบบ POST
POST เป็นค่าสง่ ค่าข้อมลู ผา่ นทางฟอร์มรับข้อมลู ทผ่ี ้ใู ชก้ รอกขอ้ มูลผ่านทางเว็บไซต์ไปยงั สคริปต์ ทาให้การ

รบั สง่ -คา่ ขอ้ มลู แบบนี้ ไม่สามารถเหน็ ข้อมูลทถ่ี ูกสง่ ไปได้ เช่น การสง่ ข้อมูลการสมัครสมาชิก การลอ็ กอนิ เข้าสูร่ ะบบ เป็นตน้
การรับคา่ ข้อมลู ในภาษาพีเอชหากมีการสง่ คา่ ข้อมูลจากฟอร์มรบั ข้อมูลในลกั ษณะ POST การรับคา่ ข้อมนัน้ ก็

ต้องเป็นการรับข้อมูลแบบเดยี วกนั จึงสามารถเรยี กใชง้ านข้อมูลทม่ี ีการส่งมาใชง้ านได้
ตวั อยา่ ง

จากตวั อยา่ งขา้ งต้นเป็นการสรา้ งฟอร์มเพ่ือรับข้อมลู จากเวบ็ ไซต์ และเลือกวธิ กี ารส่งค่าข้อมลู เปน็ แบบ POST
(ผพู้ ฒั นาเว็บไซต์อาจเลือกวิธีการสง่ เป็นแบบ GET ก็ได้ ทั้งนีข้ นึ้ อยกู่ ับความเหมาะสมของงาน) ดังนนั้ หากเราตอ้ งการนา
ขอ้ มูลทส่ี ง่ ผา่ นฟอรม์ ไปใช้งานจึงตอ้ งมีการรับค่าข้อมูลแบบ POST เชน่ กนั

การเขยี นโปรแกรมบนเว็บด้วยภาษา PHP (ฉบบั พ้นื ฐาน) อ.ชนดิ า แก้วเพชร

P a g e | 28

ตัวอยา่ ง

จากตัวอยา่ ง อธิบายไดด้ ังน้ี การรับคา่ ข้อมลู จากฟอรม์ นน้ั คือการอา้ งถึงฟอร์มที่ได้มกี ารส่งค่าจากหนา้ เว็บไซต์
เพอ่ื นาไปประมวลผลต่อไปนี้ จากตัวอย่างก่อนหนา้ ได้มีการสรา้ งฟอร์มเพื่อสง่ คา่ ข้อมูล 2 ข้อมลู คอื ข้อมลู Username และ
Password ดงั นน้ั หากต้องการนาข้อมลู Username และ Password ที่สง่ ค่าผา่ นฟรอ์ มไปใชง้ าน จงึ ต้องมีการรับค่าข้อมลู
แบบ POST เชน่ กัน ซึ่งมลี กั ษณะการใชง้ านดังรปู แบบต่อไปนี้

รูปแบบ $ช่อื ตัวแปรเพ่ือเก็บค่าที่สง่ มา =$_POST[ชื่อกล่องรับข้อมลู จากหนา้ ฟอรม์ สง่ ข้อมูล];
ตวั อยา่ งเช่น $username=$_POST[Username];

2. แบบ GET
GET เป็นการสง่ ค่าข้อมูลผา่ นทาง URL ซ่ึงจะมตี ัวแปรและค่าสาหรับใสใ่ นตวั แปรนน้ั การเร่มิ สร้างตวั แปร

$_GET จะเร่ิมต้นดว้ ยเคร่ืองหมาย “?” และแตล่ ะตวั แปรจะถูกเชอ่ื มด้วย “&” ซงึ่ ขอ้ มลู ทถ่ี ูกส่งไปน้ัน จะปรากฏในช่อง
Address Bar ของเวบ็ บราวเซอร์

ตวั อยา่ ง
http://www.rmutsb.ac.th/2011/news/detail.php?id=content13031123172201012

จากตวั อย่าง อธิบายไดด้ ังน้ี จาก URL: http://www.rmutsb.ac.th/2011/news/detail.php คอื URL เพ่ือ
เขา้ สูเ่ นอ้ื ของเว็บไซต์น้ันตามปกติ

สาหรับเครอ่ื งหมาย ? หลัง URL ปกติน้ันคอื เครอื่ งหมายของการเร่มิ ต้นสรา้ งตวั แปรแบบ GET ในทีน่ ้คี อื id ทา
หนา้ ที่เปน็ ตวั แปรของการส่งค่าข้อมูลแบบ GET ซึ่งถูกกาหนดให้มีคา่ เทา่ กับ “content13031123172201012”

การสง่ ค่าข้อมูลแบบ GET นนั้ สามารถสง่ ค่าตัวแปรไดม้ ากว่า 1 ตวั แปร แตล่ ะตัวแปรจะถูกเชื่อมตวั เครื่องหมาย
“&” ดังที่กล่าวไว้ในขา้ งตน้

ตวั อย่าง
http://rmutsb.ac.th/stdList.php?year=2550&semesterId=2&subjectId=3117

การเขียนโปรแกรมบนเว็บดว้ ยภาษา PHP (ฉบับพ้นื ฐาน) อ.ชนิดา แกว้ เพชร

P a g e | 29

จากตัวอย่าง อธิบายได้ดังนี้ http://rmutsb.ac.th/stdList.php คือ URL เพอื่ เข้าสู่เน้อื ของเว็บไซตน์ น้ั
ตามปกติ

สาหรับเครือ่ งหมาย ? หลงั URL ปกตินนั้ คือเครื่องหมายของการเรม่ิ ตน้ สรา้ งตัวแปรแบบ GET ในท่นี ้ีคอื year
ทาหน้าที่เปน็ ตวั แปรของการส่งค่าข้อมลู แบบ GET ซ่งึ ถกู กาหนดใหม้ คี า่ เทา่ กับ “2550” , semesterId ทาหนา้ ทเ่ี ป็นตวั
แปรของการสง่ ค่าข้อมลู แบบ GET เชน่ กัน ซ่ึงถูกกาหนดให้มคี ่าเทา่ กับ “2” และตัวแปรสุดท้ายคือ subjectId ทาหน้าท่เี ป็น
ตัวแปรของการส่งคา่ ข้อมูลแบบ GET และถูกกาหนดใหม้ ีค่าเท่ากับ “3117” จากตวั อย่าง จะสงั เกตุไดว้ ่าตวั แปรแต่ละตัวถูก
เชอื่ มดว้ ยเครอ่ื งหมาย “&”

สาหรับการรบั ค่าแบบ GET ก็มหี ลักเกณฑ์ในการรับค่าเช่นด้วยกันกับ POST คอื หากสง่ คา่ ข้อมลู ในรปู แบบ
GET กต็ ้องรบั ค่าข้อมูลด้วย GET เชน่ เดยี วกัน

ตวั อยา่ ง

จากตวั อย่าง อธบิ ายได้ดังน้ี การรบั ค่าข้อมูลจาก URL หรือการรับค่าจากการส่งขอ้ มูลแบบ GET นน้ั จาก
ตวั อยา่ งมีการส่งค่าขอ้ มูลผา่ นตวั แปร 3 ตวั แปร คอื ข้อมูล year, semesterId และ subjectId ดังน้ันหากต้องการนาข้อมูล
ทีส่ ง่ ค่าผา่ น URL ไปใชง้ าน จึงต้องมีการรับค่าข้อมลู แบบ GET เชน่ กัน ซง่ึ มีลกั ษณะการใชง้ านดงั รปู แบบต่อไปน้ี

รูปแบบ $ชอื่ ตวั แปรเพื่อเกบ็ ค่าที่ส่งมา =$_GET[ชอื่ ตวั แปรทส่ี ่งแบบ GET];
ตัวอยา่ งเช่น $yearREF=$_POST[year];

การเขยี นโปรแกรมบนเว็บด้วยภาษา PHP (ฉบับพืน้ ฐาน) อ.ชนดิ า แก้วเพชร


Click to View FlipBook Version