Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore ปิยะวดี พงษ์สวัสดิ์

ปิยะวดี พงษ์สวัสดิ์

Published by วิทย บริการ, 2022-07-05 03:22:19

Description: ปิยะวดี พงษ์สวัสดิ์

Search

Read the Text Version

มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบง เอกสารประกอบการสอน รายวิชาการพฒั นาฐานขอ มลู บนเว็บ ปยะวดี พงษสวัสดิ์ คณะวิทยาศาสตรแ ละเทคโนโลยี มหาวิทยาลัยราชภัฏหมูบ า นจอมบงึ 2564

มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบง การพัฒนาฐานขอมูลบนเวบ็ ปย ะวดี พงษสวัสด์ิ ปร.ด.(เทคโนโลยีสารสนเทศ และการสื่อสารเพือ่ การศกึ ษา) คณะวทิ ยาศาสตรแ ละเทคโนโลยี มหาวิทยาลยั ราชภฏั หมูบา นจอมบงึ 2564

มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบง คํานาํ รายวิชา CS63613 การพัฒนาฐานขอมูลบนเว็บ จัดอยูในกลุมวิชาเอกเปนรายวิชาบังคับเรียน ตามหลักสูตรวิทยาศาสตรบัณฑิต สาขาวิชาวิทยาการคอมพิวเตอร มหาวิทยาลัยราชภัฏหมูบานจอม บึง พุทธศักราช 2563 เปดสอนสําหรับนักศึกษาระดับปริญญาตรี เปนรายวิชาท่ีศึกษาเก่ียวกับ โครงสรางพ้ืนฐานสําหรับพัฒนาโปรแกรมประยุกตบนเว็บ สวนประกอบพ้ืนฐานของสถาปตยกรรม สารสนเทศ ภาษาโปรแกรมฐานขอมูล การออกแบบและพัฒนาโปรแกรมบนเว็บเซิรฟเวอรดวยภาษา พีเอชพี การใชคุกกี้ และเซ็กชั่น การติดตอฐานขอมูล ระบบรักษาความปลอดภัยบนเว็บ หลักการ สถาปตยกรรม ลักษณะการทํางาน และกลไกของระบบเว็บบริการ ลักษณะการทํางานและโครงแบบ เอพีไอ การเขยี นโปรแกรมเอพีไอสาํ เรจ็ รปู ฝก ปฏิบัตกิ ารพัฒนาระบบฐานขอ มลู บนเว็บไซต สําหรับแผนบริหารการสอนประจําวิชา ไดเขียนขึ้นจากคําอธิบายรายวิชาในหลักสูตรวิทยา ศาสตรบัณฑิต สาขาวิชาวิทยาการคอมพิวเตอร มหาวิทยาลัยราชภัฏหมูบานจอมบึง พุทธศักราช 2563 โดยแบงเนื้อหาไวจํานวน 9 บท ไดแก พ้ืนฐานการพัฒนาโปรแกรมประยุกตบนเว็บ, PHP เบื้องตน, การเขียนคําส่ังควบคุมทิศทาง และการทําซํ้า, การใชงานฟงกชัน, ตัวแปรอารเรย และการ จัดการไฟล, การจัดการฟอรม, ตัวแปร Cookie และ Session, ฐานขอมูล MySQL และการใชงาน phpMyAdmin และการเขยี น PHP จัดการ MySQL ผูเขียนหวังวาเอกสารประกอบการสอนท่ีเรียบเรียงฉบับน้ีคงเปนประโยชนตอนักศึกษา และ อาจารยผูสอนที่สนใจ หากมีขอเสนอแนะท่ีชวยใหเอกสารฉบับนี้สมบูรณย่ิงข้ึน ผูเขียนยินดีนอมรับ ดวยความขอบคุณ ทัง้ นเี้ พ่อื ใหการจัดการเรียนการสอนเปน ไปอยา งมีประสทิ ธภิ าพในโอกาสตอ ไป ปยะวดี พงษสวัสดิ์ 2564 (1)

มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบงสารบญั หนา คาํ นํา (1) สารบญั (2) สารบญั ภาพ (9) สารบญั ตาราง (13) แผนบรหิ ารการสอนประจาํ วิชา (15) แผนบริหารการสอนประจาํ บทที่ 1 1 บทท่ี 1 พื้นฐานการพัฒนาโปรแกรมประยุกตบ นเวบ็ 3 3 หลักการทํางานของเวิลดไ วดเวบ็ 4 ความเหมือนและความแตกตางระหวา ง Web Application กบั Website 4 ความหมายของ Web Application 4 ประเภทของการเขียนโปรแกรมบนเวบ็ องคป ระกอบของการเขยี นโปรแกรมบนเวบ็ 6 เคร่ืองมือท่ีใชในการเขียนโปรแกรมบนเว็บ 6 การตดิ ต้ัง XAMPP 7 ตําแหนง ของ Document Root ใน XAMPP การใช Dreamweaver รว มกับ XAMPP 9 การสรางไซตใน Dreamweaver 10 การเพิ่มเบราวเซอรสาํ หรับการทดสอบเวบ็ เพจ 10 การสรา งเพจใหม 14 บทสรุป คาํ ถามทบทวน 15 เอกสารอางอิง 16 แผนบริหารการสอนประจาํ บทท่ี 2 16 บทท่ี 2 PHP เบือ้ งตน 17 ประวตั แิ ละความเปน มาของภาษา PHP 18 ความสามารถของภาษา PHP 20 โครงสรา งของภาษา PHP 20 คําสั่งสําหรบั แสดงผล 20 (2) 21 22

มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบง สารบญั (ตอ ) หนา รูปแบบการเขยี นคาํ สั่ง PHP 22 การเขียนคําอธบิ าย 23 คาํ สงวนของ PHP 24 ขอ มลู ตัวแปร และชนดิ ของขอมูล การประกาศตวั แปร 25 การตรวจสอบการกําหนดคา ตัวแปรดว ยฟงกชนั isset 27 การยกเลกิ หรือทําลายตัวแปรดวยฟง กช นั unset 27 การตรวจสอบชนดิ ตวั แปรดวยฟง กช ัน gettype 27 รูจกั และใชงานตัวดําเนินการ การใชง านคา คงที่ 28 คา คงท่ีของระบบและตัวแปรระบบ 28 บทสรุป 31 คําถามทบทวน 31 เอกสารอางอิง แผนบริหารการสอนประจําบทที่ 3 32 บทท่ี 3 การเขยี นคาํ สง่ั ควบคุมทิศทาง 33 สวนประกอบของประโยคภาษา PHP 34 คาํ ส่งั ควบคมุ ทศิ ทางการทํางาน 35 การใชค ําสง่ั if 37 การใชคําสง่ั if else 37 การใชคาํ สง่ั else if 37 การใชค าํ ส่งั switch คาํ สั่งวนซํ้าหรือการทําซาํ้ (Loop) 37 คําส่งั for 38 คําส่งั while 39 คําส่งั do… while 40 วนรอบสมาชกิ ทุกตวั ในอารเ รยดวย foreach คําสั่งออกจากการทาํ งานดวย continue, exit และ break 41 41 (3) 43 44 46 47

มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบงสารบัญ (ตอ ) หนา บทสรปุ 47 คําถามทบทวน 47 เอกสารอางอิง 49 แผนบรหิ ารการสอนประจาํ บทท่ี 4 50 บทที่ 4 การใชงานฟงกชนั 52 ฟง กช ันคืออะไร 52 ประเภทของฟงกช นั 52 สว นประกอบของฟงกช ัน การสรา งฟงกชันไวใ ชง านและวธิ ีการเรยี กใชง านฟง กช ัน 53 ตวั แปรสง และตวั แปรรับ 53 การสงผานคาของตวั แปรใหแกฟงกชัน 54 การคนื คาจากฟงกช นั 56 ขอบเขตการเรยี กใชต ัวแปร ฟงกชนั เรียกใชตวั เอง (Recursive Function) 58 ฟง กชัน include 59 ฟง กชัน function_exists 59 ฟงกม าตรฐานของภาษา PHP ฟง กช ันเกย่ี วกบั คณิตศาสตร 61 ฟงกชนั เกย่ี วกับเวลาและวันที่ 62 ฟง กช นั เกย่ี วกบั สตริง 63 บทสรุป 63 คาํ ถามทบทวน เอกสารอางอิง 65 แผนบรหิ ารการสอนประจาํ บทที่ 5 69 บทที่ 5 ตัวแปรอารเ รย และการจดั การไฟล 74 อารเ รยค ืออะไร 75 อารเ รยห น่ึงมิติ อารเรยห ลายมติ ิ 75 76 (4) 78 78 79 80

มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบง สารบัญ (ตอ ) หนา Assoicative Array 82 ฟง กชนั ท่ใี ชในการจัดการอารเ รย 84 ฟง กช ันในการเรียงลาํ ดับขอมลู ในอารเ รย 87 ตัวแปร $_SERVER การจัดการไฟล 87 การเปดและปดไฟล 88 การอานขอมูลจากไฟล 88 การเขียนขอมูลลงไฟล 90 การยา ยตวั แปรไฟล การตรวจสอบไฟล 94 การจัดการไดเรก็ ทอรี 95 บทสรุป 98 คาํ ถามทบทวน 100 เอกสารอางอิง แผนบริหารการสอนประจาํ บทที่ 6 104 บทท่ี 6 การจัดการฟอรม 104 ฟอรมทํางานอยา งไร 105 การสรางฟอรม 106 การเขียนสครปิ ตสําหรบั การแทรกฟอรม 108 องคประกอบตาง ๆ ของฟอรมรับขอ มูล 108 การใชงานกลองรบั ขอความ (TextField) 109 การใชงานปมุ ตวั เลือก การใชกลอ งตวั เลือกแบบปอบอัพเมนู 112 การใชป มุ สั่งงานแบบตา ง ๆ 112 การสงขอมลู 112 การสงขอมูลไปยงั เว็บเซิรฟเวอร 116 การสง ขอมลู แบบ POST การสงขอมูลแบบ GET 119 120 (5) 122 125 125 125

มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบงสารบญั (ตอ ) หนา บทสรปุ 126 คาํ ถามทบทวน 126 เอกสารอางอิง 126 แผนบริหารการสอนประจําบทท่ี 7 127 บทที่ 7 ตัวแปร Cookie และ Session 129 รูจักและใชง าน Cookie 129 รูจักและใชงาน Session 133 ฟง กช ัน session_start() ฟง กช ัน session_destroy() 134 บทสรปุ 136 คําถามทบทวน 138 เอกสารอางอิง 138 แผนบริหารการสอนประจาํ บทที่ 8 บทท่ี 8 ฐานขอ มลู MySQL และการใชง าน phpMyAdmin 139 ทําความรจู ักกับฐานขอมูล MySQL 141 การใชง าน MySQL 142 คําสั่ง SQL 142 คาํ ส่ังแสดงรายชอ่ื ตาราง 142 คําสั่งแสดงรายละเอียดของฟลด 143 คาํ สง่ั สรา งฐานขอมลู 144 คําสัง่ สรางตาราง คําสั่งเพิม่ ขอ มลู เรคอรดใหม 144 คําสั่งดึงขอมลู จากตาราง 145 คาํ สั่งแกไขขอมลู ในตาราง 146 คําสั่งลบเรคอรด ในตาราง 147 คาํ สง่ั ออกจาก MySQL phpMyAdmin 148 การใช phpMyAdmin ชวยในงาน MySQL 149 150 (6) 151 153 152

มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบง สารบญั (ตอ ) หนา การสรา งและลบฐานขอมลู 153 การสรางตาราง 154 การแกไขรายละเอียดของตาราง 157 การเพมิ่ เรคอรด ใหมในตาราง การดขู อมลู ภายในตาราง 159 การแกไขขอมูลของเรคอรด 160 การลบเรคอรด 161 การลบตาราง 161 การสง ออกฐานขอมูล การนาํ เขา ฐานขอมูล 162 บทสรปุ 162 คาํ ถามทบทวน 163 เอกสารอางอิง 165 แผนบริหารการสอนประจาํ บทที่ 9 บทท่ี 9 การเขียน PHP จดั การ MySQL 165 การเขียน PHP เช่อื มตอ และปด การเชอื่ มตอ MySQL 165 คาํ สัง่ เช่ือมตอ MySQL 167 การเลือกฐานขอมลู 168 การปดการเช่อื มตอ 168 การตรวจสอบขอผิดพลาด 168 การสงคาํ สั่ง SQL ไปยังฐานขอ มูล 169 การจัดการขอมลู ผลลพั ธ การอานผลลพั ธแบบอารเ รย 169 การเลอื่ นพอยนเตอร 170 การนับจาํ นวนแถวที่เปล่ยี นแปลง 170 การเขยี น PHP เพอ่ื เขา ถึงขอมลู ในตาราง 172 การเพิม่ เรคอรดใหมล งในตาราง การลบเรคอรด ในตาราง 172 174 (7) 175 177 177 180

สารบัญ (ตอ ) หนา การแกไขเรคอรด ในตาราง 182 การแสดงเรคอรด ในตาราง 184 บทสรปุ 185 คําถามทบทวน เอกสารอางอิง 185 บรรณานกุ รม 186 มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบง 187 (8)

มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบง สารบญั ภาพ หนา ภาพประกอบท่ี 3 5 1.1 หลกั การทํางานของเวิลดไวดเ วบ็ 5 1.2 หลักการทาํ งานของ Static Programming 8 1.3 หลักการทาํ งานของ Dynamic Programming 8 1.4 ขั้นตอนการตดิ ต้ัง XAMPP 9 1.5 การเปด การใชง าน Apache และ MySQL ใน XAMPP 10 1.6 การเขาใชงาน phpMyAdmin 11 1.7 การกาํ หนดขอมลู ไซต 12 1.8 การเพ่ิมเซิรฟเวอร 12 1.9 การกาํ หนดขอมูลเซริ ฟเวอร 13 1.10 การกําหนดรปู แบบภาษาคอมพวิ เตอร 13 1.11 การกาํ หนดรปู แบบการทดสอบ 14 1.12 ผลที่ไดจากการสรา งไซต 15 1.13 การเพ่ิมเบราวเซอร 15 1.14 การเลอื กเบราวเซอรท่ีตอ งการ 42 1.15 การสรา งเพจใหม 44 3.1 ผลการทาํ งานของการใชค ําสง่ั for 45 3.2 ผลการทาํ งานของการใชค ําสงั่ while 46 3.3 ผลการทํางานของการใชค ําสง่ั do… while 56 3.4 ผลการทาํ งานของการใชคําสง่ั foreach 57 4.1 ผลการทํางานของการใชงานตวั แปรรับ 58 4.2 ผลการทํางานของการสงผา นแบบ Pass by value 60 4.3 ผลการทํางานของการสงผา นแบบ Pass by reference 62 4.4 ผลการทาํ งานของการใชงานฟงกช นั เรียกใชต ัวเอง 63 4.5 ผลการทาํ งานของการใชงานฟงกชนั include 80 4.6 ผลการทาํ งานของการใชงานฟงกชนั function_exists 82 5.1 ผลการทํางานของการสรางและเรยี กใชอารเ รยห นง่ึ มิติ 83 5.2 ผลการทํางานของการสรางและเรียกใชอารเรยห ลายมติ ิ 5.3 ผลการทํางานของการใชงาน Assoicative Array (9)

สารบญั ภาพ (ตอ ) ภาพประกอบท่ี หนา 5.4 ผลการทํางานของการใชงานฟง กชัน fopen() และ fclose() 90 มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบง 5.5 ผลการทาํ งานของการใชงานฟง กชัน fread 91 5.6 ผลการทาํ งานของการใชง านฟงกช ัน fgets() 92 5.7 ผลการทํางานของการใชงานฟงกช นั file() อานขอมูลจากไฟล test-file.txt 93 5.8 ผลการทาํ งานของการใชงานฟง กช ัน fpassthru() อานขอมลู จากไฟล test-file.txt 94 5.9 ผลการทาํ งานของการใชง านฟง กชนั fputs () เขียนขอมลู ลงไฟล test-file.txt 95 5.10 ผลการทํางานของการใชงานฟงกช นั rewind() 96 5.11 ผลการทํางานของการใชง านฟงกช ัน fseek() 97 5.12 ผลการทํางานของการใชงานฟงกชัน ftell() 98 5.13 ผลการทาํ งานของการใชง านฟง กชัน file_exists() 99 5.14 ผลการทํางานของการใชงานฟง กช นั filesize() 100 5.15 ผลการทาํ งานของการใชงานฟง กช นั readdir() 101 5.16 ผลการทํางานของการใชง านฟง กช ัน getcwd() 102 5.17 ผลการทาํ งานของการใชงานฟง กชนั mkdir() และ copy() 103 6.1 ตัวอยา งแบบฟอรม สมัครสมาชกิ ของสํานักงานประกันสงั คม 108 6.2 การสรา งไฟลใหม 109 6.3 การเลอื กมมุ มอง 109 6.4 การเลอื กแท็บเคร่ืองมือ form 110 6.5 ขอบเขตของฟอรม 110 6.6 การกําหนดคาของ form 111 6.7 การสรางตาราง 111 6.8 สครปิ ตของแท็ก <form> 112 6.9 การแทรกกลอ งรับขอมูลบรรทดั เดียว 113 6.10 การกาํ หนดคา properties ของกลอ งรบั ขอมูลบรรทัดเดยี ว 113 6.11 การแทรกกลอ งรบั รหสั ผา น (PasswordField) 114 6.12 การกาํ หนดคา properties ของกลองรบั รหัสผาน (PasswordField) 115 6.13 การแทรกกกลอ งรับขอ ความหลายบรรทดั (TextArea) 115 6.14 การกาํ หนดคา properties ของกลอ งรับขอ ความหลายบรรทดั (TextArea) 116 (10)

สารบญั ภาพ (ตอ ) ภาพประกอบที่ หนา 6.15 การแทรกปุมตัวเลือกแบบปมุ กลม 117 มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบง 6.16 การกาํ หนดคา ของปุมตัวเลอื กแบบปุมเหลยี่ ม (CheckBox) 118 6.17 การแทรกกลองตัวเลือกแบบปอบอัพเมนู 119 6.18 การกาํ หนดคาของกลองตัวเลือกแบบปอบอพั เมนู 120 6.19 การกําหนดคาของปมุ สง ขอมลู (Submit) 121 6.20 การกาํ หนดคา ของปมุ ลางขอมูล (Reset) 122 6.21 ผลการสรางแบบฟอรมออนไลน 123 6.22 ผลการสรา งแบบฟอรมสง ขอ มลู แสดงผลผา นเว็บ 124 7.1 ผลการทํางานของไฟล cookiestart.php 132 7.2 ผลการตรวจสอบคา ของตวั แปร Cookie 132 7.3 ผลการเปล่ยี นแปลงคาของตวั แปร Cookie 133 7.4 ผลการเคลียรคา cookie 133 7.5 ผลลพั ธการทาํ งานของไฟล page1.php 135 7.6 ผลลัพธการทํางานของไฟล page2.php 135 7.7 การเรียกใชง านไฟล page1.php 136 7.8 การเรียกใชงานไฟล page2.php 137 7.9 การเรียกใชงานไฟล sessionDestroy.php 137 7.1 0 การเรียกใชง านไฟล page2.php อกี คร้ังหลังใชฟง กชนั session_destroy() 138 8.1 การใชงาน MySQL ผานโปรแกรม phpMyAdmin 142 8.2 ผลการใชคําสั่งแสดงรายช่อื ฐานขอมูล 143 8.3 ผลการใชคําส่ังเลอื กใชฐ านขอมลู 143 8.4 ผลการใชคําสั่งแสดงรายชอ่ื ตาราง 144 8.5 ผลการใชคาํ สง่ั แสดงรายละเอยี ดของฟล ด 145 8.6 ผลการใชคําสง่ั สรางฐานขอมูล 145 8.7 ผลการใชค ําสั่งสรา งตาราง 146 8.8 ผลการใชคาํ สง่ั เพ่มิ ขอ มูลเรคอรดใหม 147 8.9 ผลการใชคําสั่งดึงขอมูลจากตาราง 148 8.10 ผลการเพมิ่ ขอมลู เรคอรด (11) 149

มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบงสารบญั ภาพ (ตอ ) หนา ภาพประกอบที่ 149 150 8.11 ผลการใชค ําส่ังดงึ ขอ มลู เพียงบางเรคอรด 151 8.12 ผลการใชค าํ ส่ังแกไ ขขอมลู ในตาราง 151 8.13 แสดงหนา ตา งเพื่อยนื ยันการลบ 152 8.14 ผลการใชคาํ สงั่ ลบเรคอรดในตาราง 152 8.15 phpMyAdmin (ภาพไอคอน) 153 8.16 การเขา ใชง าน phpMyAdmin 153 8.17 ข้นั ตอนการสรา งฐานขอมลู ผา นทาง phpMyAdmin 154 8.18 ผลการสรางฐานขอมูล ผา นทาง phpMyAdmin 156 8.19 ขั้นตอนการสรางตาราง ผา นทาง phpMyAdmin 156 8.20 การกําหนดรายละเอยี ดของตาราง ผานทาง phpMyAdmin 157 8.21 การดโู ครงสรา งตาราง ผานทางเมนู Structure 157 8.22 โครงสรางตาราง 158 8.23 ขน้ั ตอนการเลือกฟล ดท่ีตองการแกไข 158 8.24 ขัน้ ตอนการแกไขฟลด 159 8.25 ผลการแกไขฟลด 159 8.26 ขน้ั ตอนการเพิ่มเรคอรด ผา นทางลงิ ก insert 160 8.27 การกรอกขอมลู ท่ตี อ งการเพมิ่ 160 8.28 ผลการเพม่ิ เรคอรด ใหมใ นตาราง ผานทาง phpMyAdmin 160 8.29 การดูขอมูลภายในตาราง ผา นทางลงิ ก Browse 161 8.30 แสดงเรคอรดทง้ั หมดที่มอี ยูในตาราง 161 8.31 การแกไขขอมูลของเรคอรด ผานทางลิงก Edit 161 8.32 การแกไขขอมูลของเรคอรด 162 8.33 การลบเรคอรด ผา นทางลิงก Delete 162 8.34 การลบตาราง ผา นทางลิงก Drop 163 8.35 แสดงหนาตา งยนื ยันการลบตาราง 163 8.36 การสงออกฐานขอมลู ผานทางลิงก Export 164 8.37 การสงออกฐานขอมูล 8.38 ข้นั ตอนการสรางฐานขอมูล (12)

มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบงสารบัญภาพ (ตอ ) หนา ภาพประกอบท่ี 164 171 8.39 ข้ันตอนการนาํ เขา ฐานขอมูล 171 9.1 ผลการใชง านฟงกช ัน mysqli_query() 173 9.2 ผลการเพ่ิมขอมลู ตามที่กําหนดในคําสง่ั SQL 174 9.3 ขอ มลู ใน Result Set 176 9.4 ผลการใชงานฟง กช นั mysqli_fetch_array() 176 9.5 ผลการใชงานฟงกชัน mysqli_affected_rows() 177 9.6 ผลลพั ธใ น phpMyAdmin 179 9.7 ผลลัพธของไฟล main.html 179 9.8 แบบฟอรม สาํ หรับใหกรอกขอมูล 181 9.9 ผลการใชคําสงั่ เพิ่มเรคอรด 181 9.10 การระบุรหัสพนักงานที่ตอ งการลบ 183 9.11 ผลการใชค าํ สง่ั ลบเรคอรด ในตาราง 183 9.12 การกาํ หนดรหสั พนกั งานท่ตี องการแกไ ข 184 9.13 การเรยี กดูขอ มลู เกาของพนกั งานท่ีตองการแกไข 185 9.14 ผลการแกไขเรคอรด ในตาราง 9.15 ผลการแสดงเรคอรด ในตาราง (13)

มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบงสารบัญตาราง หนา ตารางท่ี 24 28 2.1 คาํ สงวนของ PHP 28 2.2 ตวั ดําเนนิ การทางคณติ ศาสตร 29 2.3 ตัวดาํ เนนิ การเพิ่มและลดคา 29 2.4 ตวั ดาํ เนินการกาํ หนดคา 30 2.5 ตัวดาํ เนินการทางตรรกะ 30 2.6 ตวั ดาํ เนนิ การเปรยี บเทียบ 31 2.7 ตวั ดําเนนิ การระดบั บิต 31 2.8 ตัวดําเนินการเชงิ ขอความ 32 2.9 คา คงท่รี ะบบ 63 2.10 ตวั แปรระบบ 65 4.1 ฟง กชันเกีย่ วกับคณิตศาสตร 66 4.2 ฟง กชนั เกย่ี วกบั เวลาและวนั ท่ี 67 4.3 อักขระทีใ่ ชแทน “วัน” และ “สัปดาห” 67 4.4 อักขระทใี่ ชแทน “เดือน” 67 4.5 อกั ขระทใี่ ชแทน “ป” 69 4.6 อักขระทใี่ ชแทน “เวลา” 70 4.7 ฟงกชนั เกย่ี วกบั การหาขนาดของสตริง 70 4.8 ฟงกชนั ในการเปล่ยี นรูปแบบของตัวพิมพ 71 4.9 ฟงกชนั เกีย่ วกบั การแยกและรวมสตรงิ 72 4.10 ฟงกชนั เก่ยี วกบั สตริงยอย 73 4.11 ฟง กชันในการคน หาสตรงิ 73 4.12 ฟง กช ันในการแทนที่สตรงิ 84 4.13 ฟง กช ันในการตดั ชองวางและเติมสตรงิ 84 5.1 ฟงกชนั เกี่ยวกบั การสรางอารเรย 85 5.2 ฟง กชนั ในการเพ่ิมสมาชิกลงในอารเ รย 85 5.3 ฟงกช ันในการตรวจสอบขอ มลู ในอารเรย 86 5.4 ฟง กช ันในการอานขอ มูลจากอารเ รย 5.5 ฟงกชนั ในการนบั จาํ นวนสมาชิกในอารเรย (14)

สารบญั ตาราง (ตอ ) หนา ตารางท่ี 87 87 5.6 ฟงกช ันในการเรียงลาํ ดบั ขอมูลในอารเ รย 89 5.7 คยี ข องตวั แปร $_SERVER 5.8 โหมดของการเปด ไฟลใ นฟงกชัน fopen() 146 8.1 รายละเอยี ด ตาราง customer 155 8.2 รายละเอียดของตาราง member มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบง (15)

แผนบรหิ ารการสอนประจําวิชา รหสั วชิ า CS63613 3(2-2-5) รายวิชา การพฒั นาฐานขอมูลบนเว็บ เวลาเรียน (The Development of Web-Based Database) 60 ชวั่ โมง/ภาคเรียน มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบง คําอธิบายรายวิชา ศึกษาโครงสรางพ้ืนฐานสําหรับพัฒนาโปรแกรมประยุกตบนเว็บ สวนประกอบพื้นฐานของ สถาปตยกรรมสารสนเทศ ภาษาโปรแกรมฐานขอมูล การออกแบบและพัฒนาโปรแกรมบนเว็บ เซิรฟเวอรด ว ยภาษาพเี อชพี การใชคุกกี้ และเซ็กชน่ั การติดตอ ฐานขอมูล ระบบรักษาความปลอดภัย บนเว็บ หลักการ สถาปตยกรรม ลักษณะการทํางาน และกลไกของระบบเว็บบริการ ลักษณะการ ทาํ งานและโครงแบบเอพไี อ การเขียนโปรแกรมเอพีไอสําเร็จรูป ฝกปฏิบัติการพัฒนาระบบฐานขอมูล บนเวบ็ ไซต วัตถปุ ระสงคท ั่วไป 1. เพื่อใหนักศึกษามีความรูความเขาใจโครงสรางและสวนประกอบพื้นฐานของ สถาปตยกรรม หลักการออกแบบและพฒั นาเว็บไซต และภาษาทใี่ ชส าํ หรับพฒั นาโปรแกรมบนเว็บ 2. เพ่ือใหนักศึกษามีความรูความเขาใจหลักการ สถาปตยกรรม ลักษณะการทํางาน และ กลไกของระบบเว็บบริการ 3. เพอ่ื ใหน ักศึกษามคี วามรูค วามเขา ใจหลักการประยุกตใชคุกก้ี เซ็กชั่น การติดตอฐานขอมูล และระบบรักษาความปลอดภัยสาํ หรบั พฒั นาโปรแกรมบนเวบ็ 4. เพอ่ื ใหนกั ศกึ ษาสามารถออกแบบและพัฒนาโปรแกรมบนเว็บเซิรฟเวอรดวยภาษาพีเอชพี และภาษาอน่ื ๆ ทีเ่ ก่ียวขอ งได 5. เพ่อื ใหนกั ศกึ ษามีความละเอียดรอบคอบ ตระหนักถึงความปลอดภัยและคุณภาพของงาน มีจรยิ ธรรมในงานอาชีพ (16)

เนื้อหา มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบงบทที่ 1 พื้นฐานการพัฒนาโปรแกรมประยุกตบนเว็บ 4 ช่ัวโมง หลักการทาํ งานของเวิลดไวดเวบ็ 4 ช่ัวโมง ความเหมือนและความแตกตางระหวาง Web Application กบั Website ความหมายของ Web Application 4 ชวั่ โมง ประเภทของการเขียนโปรแกรมบนเวบ็ 4 ช่ัวโมง องคป ระกอบของการเขียนโปรแกรมบนเวบ็ เครือ่ งมือที่ใชในการเขียนโปรแกรมบนเว็บ การใชงาน XAMPP การใชง าน Dreamweaver เบอ้ื งตน บทที่ 2 PHP เบอ้ื งตน ประวตั แิ ละความเปน มาของภาษา PHP โครงสรางของภาษา PHP รูปแบบการเขียนคําสั่ง PHP คําสงวนของ PHP ขอมูล ตวั แปร และชนดิ ของขอมูล การประกาศตวั แปร ฟง กช นั ท่เี กยี่ วกับตัวแปร รูจักและใชงานตัวดาํ เนินการ คาคงท่ีของระบบและตัวแปรระบบ บทท่ี 3 การเขยี นคาํ ส่ังควบคุมทิศทางและทําซ้าํ สว นประกอบของประโยคภาษา PHP คาํ สง่ั ควบคุมทศิ ทางการทํางาน คําสงั่ วนซา้ํ หรอื การทําซ้ํา (Loop) วนรอบสมาชกิ ทุกตัวในอารเ รยด ว ย foreach คําส่งั ออกจากการทํางานดวย continue, exit และ break บทท่ี 4 การใชงานฟงกชัน ฟง กช นั คืออะไร ประเภทของฟง กชนั สว นประกอบของฟงกช นั (17)

มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบงการสรางฟงกชนั ไวใ ชง านและวธิ ีการเรยี กใชงานฟง กชนั4 ชว่ั โมง ตัวแปรสงและตัวแปรรบั การสง ผา นคาของตัวแปรใหแกฟ งกช นั 4 ช่วั โมง การคนื คาจากฟงกช นั 4 ชว่ั โมง ขอบเขตการเรยี กใชตวั แปร 4 ชวั่ โมง ฟง กมาตรฐานของภาษา PHP บทท่ี 5 ตวั แปรอารเ รย และการจัดการไฟล อารเ รยคอื อะไร อารเรยห นึ่งมติ ิ อารเรยห ลายมิติ Assoicative Array ฟงกช ันที่ใชใ นการจดั การอารเ รย ตวั แปร $_SERVER การจัดการไฟล ฟงกช ันทใ่ี ชในการจัดการไฟล การจดั การไดเรก็ ทอรี บทที่ 6 การจดั การฟอรม ฟอรม ทาํ งานอยางไร การสรา งฟอรม การเขียนสครปิ ตส ําหรับการแทรกฟอรม องคป ระกอบตา งๆ ของฟอรมรบั ขอ มลู การสงขอ มลู ไปยงั เว็บเซริ ฟเวอร การสง ขอ มลู แบบ POST การสง ขอมูลแบบ GET บทที่ 7 ตัวแปร Cookie และ Session รูจกั และใชงาน Cookie รจู ักและใชงาน Session ฟงกช นั session_start() ฟง กชนั session_destroy() บทท่ี 8 ฐานขอมูล MySQL และการใชงาน phpMyAdmin ทาํ ความรจู กั กับฐานขอมูล MySQL (18)

การใชงาน MySQL คาํ สงั่ SQL phpMyAdmin การใช phpMyAdmin ชวยในงาน MySQL การสง ออกฐานขอมลู การนาํ เขา ฐานขอมลู บทท่ี 9 การเขียน PHP จดั การ MySQL การเขียน PHP เชอื่ มตอ และปด การเช่อื มตอ MySQL การสง คําส่ัง SQL ไปยังฐานขอ มูล การจัดการขอมูลผลลัพธ การเขียน PHP เพื่อเขาถึงขอมูลในตาราง มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบง 4 ชัว่ โมง วธิ ีสอนและกจิ กรรมการเรยี นการสอน 1. ผเู รยี นทาํ แบบทดสอบกอนเรียนเพอื่ วดั ความรูพ้นื ฐานทเ่ี กย่ี วขอ งกบั รายวิชา 2. ผูเรียนศึกษาเอกสารประกอบการสอน 3. การจดั การเรยี นรแู บบบรรยายและอภปิ ราย 4. การจัดการเรียนรูแบบสาธิตปฏบิ ตั ิ 5. การจัดการเรียนรโู ดยกระบวนการกลมุ สื่อการเรยี นการสอน 1. เอกสารประกอบการสอน รายวิชาการพฒั นาฐานขอมลู บนเว็บ 2. ส่อื นําเสนอ 3. วดี โี อจาก Youtube 4. ซอฟตแ วรส ําหรับใชในการพัฒนาเว็บไซต 5. เวบ็ ไซตที่เก่ียวของกบั เน้ือหา 6. แบบทดสอบกอ นเรยี น 7. แบบประเมนิ ทักษะการพฒั นาเวบ็ ไซต 8. ใบงาน (19)

การวัดผลและการประเมนิ ผล รอ ยละ 70 1. การวดั รอ ยละ 40 1.1 คะแนนระหวา งเรียน รอยละ 15 1.1.1 การทดสอบยอย รอ ยละ 15 1.1.2 การทดสอบภาคปฏบิ ัติ รอยละ 30 1.1.3 แบบฝกหัดทายบท/รายงาน คารอ ยละ 1.2 คะแนนสอบปลายภาค 80-100 มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบง 75-79 2. การประเมนิ ผล คา ระดบั คะแนน 70-74 ระดับคะแนน ความหมายของผลคะแนน 4.0 65-69 3.5 60-64 A ดีเยย่ี ม 3.0 55-59 B+ ดีมาก 2.5 50-54 B ดี 2.0 0-49 C+ ดีพอใช 1.5 C พอใช 1.0 D+ ออ น 0.0 D ออ นมาก E ตก (20)

มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบง แผนบรหิ ารการสอนประจาํ บทที่ 1 หวั ขอ เนื้อหา 1. หลักการทํางานของเวลิ ดไวดเว็บ 2. ความเหมอื นและความแตกตางระหวาง Web Application กบั Website 3. ความหมายของ Web Application 4. ประเภทของการเขยี นโปรแกรมบนเวบ็ 5. องคป ระกอบของการเขยี นโปรแกรมบนเว็บ 6. เครือ่ งมือที่ใชใ นการเขียนโปรแกรมบนเวบ็ 7. การติดตั้ง XAMPP 8. ตําแหนง ของ Document Root ใน XAMPP 9. การใช Dreamweaver รวมกับ XAMPP 10. การสรา งไซตใน Dreamweaver 11. การเพิ่มเบราวเ ซอรสาํ หรบั การทดสอบเวบ็ เพจ 12. การสรางเพจใหม วัตถปุ ระสงคเชงิ พฤติกรรม เมอื่ นกั ศกึ ษาเรียนจบบทเรียนน้ีแลวสามารถ 1. อธบิ ายหลกั การทาํ งานของการเขยี นโปรแกรมบนเวบ็ ได 2. อธิบายหลกั การทาํ งานของเวิลดไวดเว็บได 3. อธิบายความเหมือนและความแตกตางระหวา ง Web Application กับ Website ได 4. จําแนกประเภทของการเขียนโปรแกรมบนเวบ็ ได 5. อธิบายองคป ระกอบของการเขยี นโปรแกรมบนเว็บได 6. ตดิ ต้งั และใชง าน XAMPP ได 7. ต้งั คา Dreamweaver ใหสามารถทํางานรว มกับ XAMPP ได 8. เพิม่ เบราวเซอรส ําหรับทดสอบการทาํ งานของเวบ็ เพจได 9. สรางเพจใหมใ น Dreamweaver ได 1

มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบงวิธสี อนและกิจกรรมการเรยี นการสอน 1. วิธีสอน 1.1 วิธกี ารสอนแบบบรรยาย โดยใหน กั ศึกษาฟงบรรยายจากเอกสารประกอบการสอน วชิ า การพัฒนาฐานขอมลู บนเวบ็ 1.2 อภิปรายรวมกันในชั้นเรียน 2. กจิ กรรมการเรียนการสอน 2.1 คําถามทบทวน 2.2 แบบฝก ปฏบิ ัตกิ ารตดิ ตง้ั และใชง านโปรแกรม 2.3 Active Learning แบบ PLC สื่อการเรยี นการสอน 1. เอกสารประกอบการสอน วิชา การพัฒนาฐานขอมลู บนเวบ็ 2. เว็บไซตที่มีเนอื้ หาเก่ียวของกับรายวชิ า 3. สื่อสงั คมออนไลน การวดั ผลและการประเมนิ ผล 1. สังเกตการณมีสว นรวมและการตอบคําถาม 2. การทํางานตามที่ไดรบั มอบหมาย 3. การทําคาํ ถามทบทวน 4. การทําแบบฝก ปฏิบัติ 2

มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบง บทที่ 1 พน้ื ฐานการพัฒนาโปรแกรมประยกุ ตบ นเว็บ ลักษณะของการเขียนโปรแกรมสามารถแบงไดเปน 2 ประเภท คือ การเขียนโปรแกรมบน วินโดวส (Windows-Based Application) และการเขียนโปรแกรมบนเว็บ (Web-Based Application) ซึ่งในเอกสารประกอบการสอนเลมน้ีจะกลาวถึงเฉพาะการเขียนโปรแกรมบนเว็บ เทานั้น โดยลักษณะของการเขียนโปรแกรมบนเว็บ คือ การเขียนโปรแกรมที่การแสดงผลของ โปรแกรมจะอยูบนเว็บเบราวเซอร (Web Browser) ซึ่งผูใชสามารถเขาถึงไดผานทางเครือขาย อินเทอรเน็ตไมวาจะอยูที่ไหน หรือสามารถเขาใชงานไดตลอดเวลา ซึ่งเปนจุดเดนของการเขียน โปรแกรมบนเว็บ ทําใหการทําธุรกิจในปจจุบันนิยมมาพัฒนาโปรแกรมเว็บเพ่ือใชในการทําธุรกิจมาก ขนึ้ อนั เนื่องมาจากขอ ดดี ังกลา วนัน่ เอง หลักการทํางานของเวลิ ดไ วดเวบ็ เวิลดไวดเว็บ หรือ www ยอมาจากคําวา World Wide Web คือ บริการคนหาหรือเรียกดู ขอมูลรูปแบบหน่ึงในระบบอินเทอรเน็ต ขอมูลในเวิลดไวดเว็บจะอยูในรูปแบบส่ือผสมหรือมัลติมีเดีย (Multimedia) ที่มีท้ังตัวอักษร, รูปภาพ, เสียง และภาพเคล่ือนไหวในรูปแบบวิดีโอ ซ่ึงขอมูลจะถูก แบงเปนหนา ๆ แตละหนาสามารถเช่ือมโยงถึงกันในรูปแบบไฮเปอรเท็กซ (Hyper Text) เรียกวา เว็บไซต (Web Site) หลักการทํางานของเวิลดไวดเว็บจะเปนลักษณะการเช่ือมตอระหวางเคร่ืองผู ใหบรกิ าร (Server) และเคร่ืองผใู ชบรกิ าร (Client) ดงั ภาพ ภาพประกอบที่ 1.1 หลกั การทํางานของเวลิ ดไวดเ วบ็ ที่มา: (ภาพโดยผเู ขยี น, 2564) เครื่องลูกขาย (Client) จะสงคํารองขอบริการ (Request) ไปท่ีเครื่องแมขาย (Server) ซ่ึง เปนเคร่อื งทีใ่ หบ รกิ ารตาง ๆ ที่เกย่ี วกับเวบ็ ไซตทั้งหมด ไดแก ไฟลเว็บเพจ, รูปภาพ หรือโปรแกรมบน เว็บตาง ๆ เราเรียกวา (Web Server) เม่ือเคร่ืองแมขายไดรับคํารองขอจะทําการคนหาบริการแลว 3

มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบงตอบกลับ (Response) ไปยังเครื่องลูกขาย หากกรณีที่ผูใชบริการตองการจัดการขอมูลบนเว็บไซต เครอ่ื งแมข า ยก็จะเช่อื มตอ ไปยงั ฐานขอมูล (Database) ซงึ่ เปนที่จัดเก็บขอมูลที่มีความสัมพันธกันของ เว็บไซต โดยตดิ ตอผานทางภาษา PHP เมื่อเคร่ืองลูกขายไดรับผลการตอบกลับแลวก็จะแสดงผลออก ทางเว็บเบราวเซอร (Web Browser) ซึ่งเปนโปรแกรมที่ใชในการเขาถึงขอมูลในรูปแบบเว็บเพจ (Webpage) เชน Google Chrome, Internet Explorer, Mozilla Firefox เปนตน ซ่ึงกระบวนการ ดังกลาวจะถูกกระทําผานโปรโตคอล HTTP (Hypertext Transport Protocol) เปนโปรโตคอล สาํ หรับการส่ือสารผา นระบบอินเทอรเ น็ต (ชาญชัย ศภุ อรรถกร, 2015) ความเหมือนและความแตกตา งระหวาง Web Application กบั Website Web Application กับ Website เหมือนกันตรงที่ตองส่ือสารผานทางโปรโตคอล http โดย ใชเทคโนโลยีการเขาผาน URL แตไมเหมือนกันตรงวัตถุประสงคการออกแบบ ซึ่ง Website วัตถุประสงคหลักคือการเผยแพรขอมูลขาวสาร สวน Web Application วัตถุประสงคหลักคือ โปรแกรมท่ีทาํ งานผานหนาเว็บ ความหมายของ Web Application Web Application คือ แอปพลิเคชันประเภทหน่ึงที่เขียนข้ึนเพื่อใชงาน โดยสามารถสดงผล ผานเว็บบราวเซอรไดโดยไมตองติดต้ังแอปพลิเคชัน จึงทําใหสามารถเขาถึง Web Application ได เพียงแคมอี ุปกรณท่ีเช่ือมตออินเทอรเน็ตโดยเปดผานเว็บเบราวเซอรก็สามารถเขาใชงานไดทันที และ เนนใหผูใชเขามา \"ใชงาน\" มากกวาการดูขอมูลเพียงอยางเดียว (เอกชัย แนนอุดร และวิชา ศิริ ธรรมจักร, 2552) ประเภทของการเขยี นโปรแกรมบนเว็บ แบงลักษณะการทาํ งานของโปรแกรมไดเปน 2 ประเภท ดังนี้ 1. Static Programming เปนลักษณะของโปรแกรมบนเว็บท่ีตอบสนองทางเดียว ไมมีการ ติดตอกับฐานขอมูล และไมสามารถเก็บขอมูลได เปนการนําเสนอขอมูลแบบทางเดียว เหมาะกับ เว็บไซตท่ีไมคอยมีการเปลี่ยนแปลงขอมูล เชน เว็บไซตประวัติสวนตัว, เว็บไซตองคกร เปนตน โดย พัฒนาดว ยภาษา HTML หรือ DHTML เปน หลกั ซึ่งเปนภาษา Script แบบ Client Side Script เปน เทคโนโลยีที่สคริปตทํางานบนฝงเครื่องลูกขาย (Client) ลักษณะเว็บประเภทน้ีหากผูพัฒนาตองการ แกไขขอมูลบนเว็บตองแกไขไฟลเว็บไซตผานทางโปรแกรมพัฒนาเว็บเพจ เชน Adobe Dreamweaver, Visual Studio Code เปนตน และทําการอัพโหลดไฟลเว็บไซตนั้นข้ึนไปเก็บที่ Web Server ซงึ่ จะสรา งความยุง ยากในการบรหิ ารจัดการแกผูพัฒนาเว็บ 4

มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบง ภาพประกอบที่ 1.2 หลักการทํางานของ Static Programming ที่มา: (ภาพโดยผเู ขยี น, 2564) 2. Dynamic Programming เปนลักษณะของโปรแกรมบนเว็บท่ีสรางข้ึนมาเพื่อแกปญหา ความไมยืดหยุนของ Static Programming มีการติดตอและจัดเก็บขอมูลลงในฐานขอมูล เหมาะกับ เว็บไซตท่ีตองการเปล่ียนแปลงขอมูลบอย พัฒนาดวย ASP, PHP, ASP.net และอื่น ๆ เปนหลัก ซ่ึง เปนภาษา Script แบบ Server Side Script เปนเทคโนโลยีที่สคริปตทํางานบนฝงเคร่ืองแมขาย (Server) ในการพัฒนาโปรแกรมบนเว็บประเภทนี้ ผูพัฒนาตองมีความรูความสามารถในการเขียน โปรแกรม และซอฟตแวรท่ีใช ไดแก ซอฟตแวรที่จําลองเคร่ืองคอมพิวเตอรใหเปน Web Server, ซอฟตแ วรท ใ่ี ชใ นการแปลโปรแกรมภาษา และซอฟตแวรท่ีใชจัดการฐานขอมูล (ชาญชัย ศุภอรรถกร, 2015) ภาพประกอบท่ี 1.3 หลักการทาํ งานของ Dynamic Programming ที่มา: (ภาพโดยผเู ขียน, 2564) 5

มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบงองคป ระกอบของการเขยี นโปรแกรมบนเว็บ 1. เซิรฟเวอร (Server) คือ เคร่ืองคอมพิวเตอรซึ่งมีหนาท่ีในการใหบริการในระบบเครือขาย แกเ ครอื่ งลกู ขา ย เครื่องคอมพิวเตอรประเภทนค้ี วรมปี ระสทิ ธิภาพสงู มคี วามเสถยี ร สามารถใหบริการ แกผ ูใชไดเ ปนจาํ นวนมาก 2. ไคลเอนต (Client) คือ เครื่องคอมพิวเตอรท ี่รองขอบริการจากเซิรฟเวอร ซ่ึงไคลเอนตเปน เครื่องคอมพิวเตอรท่ีไมสามารถเรียกใชงานโปรแกรมคอมพิวเตอรในตัวเองได แตสามารถใชงาน โปรแกรมน้นั ผานทางระบบเครือขาย 3. โปรแกรมเว็บเซิรฟ เวอร (Web Server) คอื ซอฟตแ วรค อมพิวเตอร ซึ่งทําหนาท่ีใหบริการ ขอมลู แก Client หรอื เครอื งคอมพิวเตอรท่ีขอรบั บริการ 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) เปน ซอฟตแวรท่ชี ว ยในการจัดการ ระบบฐานขอมูล เชน phpMyAdmin เปนตน (อนรรฆนงค คณุ มณี, 2555) เคร่ืองมอื ที่ใชใ นการเขียนโปรแกรมบนเวบ็ กลไกการทํางานของเว็บนั้น เร่ิมจากการสงคํารองขอขอมูลจากผูใชผานทางเว็บเบราวเซอร ไปยังเวบ็ เซิรฟ เวอร จากนั้นเว็บเซิรฟเวอรจะเรยี กตัวประมวลผลมาจดั การกบั คํารองขอ เม่ือไดผลลัพธ แลวก็จะสงกลับไปแสดงผลท่ีเบราวเซอรซึ่งการที่ระบบเว็บจะทํางานไดดังกลาวนั้น ผูพัฒนา 6

มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบงจําเปนตองติดตั้งโปรแกรมบางอยางลงไปพรอมต้ังคาโปรแกรมเหลาน้ันใหสามารถทํางานรวมกันได เสียกอนเราจงึ จะสามารถเขา สูขนั้ ตอนการพัฒนา Web Application ตอไปได โดยโปรแกรมที่ตองใช ในการทาํ งานของเว็บน้ัน มดี งั นี้ 1. โปรแกรมเว็บเซิรฟเวอร เปนตัวท่ีจะควบคุมและจัดการทรัพยากรทั้งหมดในการทํางาน ของระบบเว็บ ดังนั้นจึงถือวาเปนส่ิงจําเปนอันดับแรกท่ีตองมี สําหรับในท่ีนี้จะเลือกใช Apache เปน เวบ็ เซิรฟ เวอร 2. โปรแกรมภาษาสําหรับประมวลผล เปนตัวประมวลผลคําสั่งหรือโปรแกรมท่ีเราเขียน เพอ่ื ใหไ ดผ ลลัพธต ามตอ งการ สาํ หรบั ในทน่ี ้ีเลือกใช PHP เปนตวั ประมวลผล 3. โปรแกรมฐานขอมูล เปนตัวเสริมการทํางานเพ่ือใชในการจัดเก็บขอมูลของเว็บไซต ซึ่งใน ทีน่ ้ีเลือกใช MySQL เปน ฐานขอมลู 4. โปรแกรมสําหรับสรางเว็บหรือเขียนโคด เปนตัวที่ใชสรางหรือปรับแกขอความ รวมท้ัง ปรบั รูปแบบขอมลู ตา ง ๆ ในการพัฒนาเวบ็ ไซต ในท่ีนจี้ ะเลือกใช Dreamweaver สําหรบั โปรแกรมเว็บเซริ ฟเวอร โปรแกรมภาษาสําหรับประมวลผล และโปรแกรมฐานขอมูล นั้น ปกติจะเปนโปรแกรมที่แยกจากกันโดยอิสระ โดยเราตองติดต้ังทีละตัวแลวต้ังคาโปรแกรม เหลาน้ันใหสามารถทํางานรวมกันได ทําใหเกิดความยุงยาก จึงมีคนพัฒนาชุดเคร่ืองมือท่ีรวมทั้ง 3 โปรแกรมดังกลา วเขา ดวยกันสามารถใชง านไดในทันทีซงึ่ ชดุ เครื่องมือดงั กลา วนั้นช่ือวา XAMPP (บญั ชา ปะสีละเตสัง, 2557) การติดตงั้ XAMPP กอ นการตดิ ตัง้ ใหดาวนโหลดชุดโปรแกรม XAMPP ไดที่ https://www.apachefriends.org โดยเลือกเวอรช นั ทตี่ รงกบั ระบบปฏบิ ตั ิการท่เี ราใชอยู ขัน้ ตอนการติดต้งั มดี ังนี้ 1. ดับเบ้ลิ คลกิ ที่ไฟลท ด่ี าวนโ หลดมา 2. เลือกโปรแกรมที่จะติดตั้ง จะเลือกท้ังหมดหรือบางสวนก็ได ซึ่งสิ่งที่จําเปนตองใชงานใน บทเรียนน้ี คือ Apache, MySQL, PHP และ phpMyAdmin แลวกด Next 3. กําหนดตาํ แหนงติดตั้ง ในทน่ี ้เี ลือกคา ดีฟอลต คอื C:\\xampp แลวกด Next 4. จากน้ันรอจนกวา การติดต้ังจะแลว เสรจ็ ใหท ําการ Restart เคร่อื งคอมพวิ เตอร 1 ครง้ั 7

มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบง ภาพประกอบท่ี 1.4 ขน้ั ตอนการตดิ ต้งั XAMPP ท่ีมา: (ภาพโดยผูเขยี น, 2564) 5. จากน้ันเขา Control Panel ของ XAMPP และทําการคลิกปุม Start ท่ี Apache และ MySQL ตามลําดับเพื่อเปด การใชง านผลลพั ธจ ะไดตามภาพ ภาพประกอบท่ี 1.5 การเปด การใชงาน Apache และ MySQL ใน XAMPP ท่ีมา: (ภาพโดยผูเขยี น, 2564) 6. ทดลองเขา phpMyAdmin ตวั ชวยในการจดั การฐานขอมลู โดยการพิมพ localhost/phpmyadmin ผานทางโปรแกรมเบราวเซอร 8

มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบง ภาพประกอบที่ 1.6 การเขาใชง าน phpMyAdmin ที่มา: (ภาพโดยผเู ขียน, 2564) ตาํ แหนง ของ Document Root ใน XAMPP เม่ือเราตองการสรางและจัดการเว็บเพจบนระบบเว็บเซิรฟเวอร ส่ิงที่เราควรรูจักในเบ้ืองตน คือตําแหนงของ Document Root ซึ่งเปนตําแหนงอางอิงในการจัดเก็บไฟลเว็บเพจและไฟลอ่ืนๆท่ี เกี่ยวของ สําหรับเว็บเซิรฟเวอรท่ีเราติดตั้งจาก XAMPP ตําแหนงของ Document Root จะอยูที่ C:\\xampp\\htdocs ไฟลเว็บเพจท่ีเราสรางรวมไฟลท่ีเกี่ยวของจะตองนํามาจัดเก็บไวท่ีตําแหนงของ Document Root เม่อื เราตอ งการเปดดูเว็บเพจบนเบราวเซอรใ หแ ทนตําแหนง C:\\xampp\\htdocs ดว ย http://localhost แลวตามดวยชอื่ ไฟลเว็บเพจนน้ั เชน สมมติวาสรางไฟลเว็บเพจชื่อวา index.html จัดเก็บไวท่ีตําแหนงของ Document Root จะตอ งกําหนด URL บนเบราวเซอรเ ปน http://localhost/index.html สรุปคือ หากตองการเปดดูไฟลเว็บเพจท่ีบันทึกไวที่ตําแหนงของ Document Root ของ server ในเคร่ืองของเรา ใหแทน C:\\xampp\\htdocs ดวย http://localhost ตามดวยเสนทางท่ีอยู ถัดจากโฟลเดอร htdocs ไปจนถึงไฟลน้ัน สําหรับไฟลตัวอยางในบทเรียนน้ี ผูสอนจะสรางโฟลเดอร ช่ือ WebApp ซอนอยูภายใน โฟลเดอร htdocs เพื่อจัดเก็บไฟลเว็บเพจและไฟลที่เกี่ยวของสําหรับ การเรียนในรายวิชานี้โดยเฉพาะ เพราะฉะน้ันหากตองการเปดดูไฟลเว็บเพจชื่อวา index.html บน เบราวเซอรก็ตองพิมพวา http://localhost/WebApp/index.html เพื่อระบุเสนทางในการ เขา ถงึ ไฟลดังกลาว 9

การใช Dreamweaver รวมกบั XAMPP ในวิชานี้เลือกใช Dreamweaver CC 2021 เปนเคร่ืองมือในการสรางเว็บเพจ เนื่องจากมี เคร่ืองมือท่ีชวยอํานวยความสะดวกมากมายท้ังในการเขียนโคด, การออกแบบ และการทดสอบ เปน ตน การสรา งไซตใน Dreamweaver กอนที่เราจะใช Dreamweaver ทํางานรวมกับระบบเว็บเซิรฟเวอรไดนั้น เราตองสรางไซต ใน Dreamweaver กอนเพ่ือเปนการเชื่อมโยงไปยังไฟลตางๆท่ีอยูใน Document Root ทําใหเรา สามารถสราง, เปดดู, แกไข หรือทดสอบเว็บเพจเหลาน้ันผานทาง Dreamweaver ได ซึ่งมีขั้นตอน ดงั นี้ 1. เมอื่ เปด เขาสโู ปรแกรม Dreamweaver เลือกท่เี มนู Site > New Site 2. ขัน้ ตอนถดั ไปมดี ังนี้ 1) ท่แี ท็บดา นซา ยใหค ลกิ เลอื ก Site 2) กําหนดขอ มลู แตละชอง ดังนี้ - Site Name กําหนดเปน localhost - Local Site Folder กาํ หนดเปน C:\\xampp\\htdocs 3) คลกิ ที่ปุม Save 1 2 มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบง 3 ภาพประกอบท่ี 1.7 การกาํ หนดขอมูลไซต ที่มา: (ภาพโดยผเู ขยี น, 2564) 10

3. ขนั้ ตอนถัดไปมีดงั นี้ 1) ที่แทบ็ ดานซา ยใหค ลกิ เลือก Server 2) คลิกท่รี ูปเคร่ืองหมาย + เพอ่ื เพิ่มเซิรฟ เวอร 1 มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบง 2 3 ภาพประกอบท่ี 1.8 การเพม่ิ เซิรฟ เวอร ทมี่ า: (ภาพโดยผูเ ขยี น, 2564) 4. ขัน้ ตอนถดั ไปมดี งั นี้ 1) เลอื กแทบ็ Basic 2) กําหนดขอ มูลแตล ะชอ ง ดงั น้ี - Server Name กาํ หนดเปน localhost - Connect Using กําหนดเปน Local/Network - Server Folder กําหนดเปน C:\\xampp\\htdocs\\WebApp - Web URL กําหนดเปน http://localhost/WebApp 3) คลกิ ท่ปี มุ Save 11

1 2 มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบงภาพประกอบท่ี 1.9 การกําหนดขอ มูลเซริ ฟ เวอร3 ทม่ี า: (ภาพโดยผูเขียน, 2564) 1 5. ขั้นตอนถดั ไปมีดงั นี้ 1) เลอื กแท็บ Advance 2) ชอง Server Model กาํ หนดเปน PHP MySQL 3) คลกิ ท่ีปมุ Save 2 3 ภาพประกอบที่ 1.10 การกาํ หนดรูปแบบภาษาคอมพวิ เตอร 12

ทีม่ า: (ภาพโดยผเู ขยี น, 2564) 6. ขั้นตอนถัดไปมีดังนี้ 1) เชค็ เลือกชอง Testing 2) คลิกทป่ี ุม Save มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบง 1 2 ภาพประกอบที่ 1.11 การกําหนดรูปแบบการทดสอบ ทม่ี า: (ภาพโดยผเู ขียน, 2564) เม่ือจบข้ันตอนการสรา งไซต ทหี่ นาจอหลักของ Dreamweaver ท่ีแท็บ Files จะปรากฎไฟล ตางๆทม่ี ีอยู Document Root ซง่ึ ในท่ีนคี้ อื C:\\xampp\\htdocs\\WebApp มาแสดงดงั ภาพ ภาพประกอบท่ี 1.12 ผลท่ีไดจากการสรางไซต ทม่ี า: (ภาพโดยผเู ขยี น, 2564) 13

มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบงการเพ่ิมเบราวเ ซอรส าํ หรับการทดสอบเวบ็ เพจ ใน Dreamweaver หากเราตองการดูผลลัพธของเว็บเพจที่เราสรางขึ้น ใหเราคลิกท่ีไอคอน ซ่ึงจะปรากฎรายช่ือเบราวเซอรใหเลือกเปดไดตามตองการ แตหากไมมีรายช่ือเบราวเซอรท่ี ตองการใหทาํ ตามขน้ั ตอน ดังน้ี 1. คลกิ ทไี่ อคอน แลวเลือกเมนู Edit List หรอื เลือกจากเมนู Edit > Preferences… 2. หลังจากน้ันจะเขาสูหนาจอ Preferences ท่ีชอง Category ใหเลือก Real-time Preview 3. ถา ตอ งการเพ่มิ เบราวเซอรใหคลกิ ท่ปี มุ เคร่ืองหมาย + 2 1 ภาพประกอบที่ 1.13 การเพิ่มเบราวเซอร ทมี่ า: (ภาพโดยผูเขยี น, 2564) 4. จากน้ันเมื่อปรากฏไดอะล็อก Add Browser ในชอง Name ใหกําหนดช่ือที่ใชเรียก เบราวเซอรและชอ ง Application ใหก ดที่ Browse… เพอื่ เขา ไปเลอื กไฟลท่ีเรียกเบราวเซอรน้ันข้ึนมา ทํางานซึ่งสวนมากไฟลดังกลาวจะอยูใน C:\\Program File (x86) ท่ีเปนตําแหนงดีฟอลตในการติดตั้ง โปรแกรมท่ัวไป จากตัวอยา งเลอื กติดต้งั firefox ใหคลิกเลอื กทไี่ อคอนเบราวเซอรแ ลวกด open 14

มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบง ภาพประกอบท่ี 1.14 การเลือกเบราวเซอรท่ตี องการ ทม่ี า: (ภาพโดยผเู ขยี น, 2564) การสรางเพจใหม การสรางเพจใหม หากในเพจนน้ั จาํ เปนตอ งมสี คริปต PHP อยดู ว ยใหเ ลือกชนิดไฟลเปน PHP ทง้ั น้ี เพอ่ื ให Dreamweaver นาํ เครอ่ื งมอื มาชว ยในการเขยี นโคด PHP ซงึ่ การสรา งเพจมขี ั้นตอน ดงั น้ี วิธีท่ี 1 กด Ctrl + N หรอื วธิ ีท่ี 2 เลือกจากเมนู File > New.. จากน้ันจะปรากฏวินโดวดงั ภาพดา นลา งใหเลือกตามลาํ ดบั ในภาพ 1 2 3 ภาพประกอบท่ี 1.15 การสรา งเพจใหม ทีม่ า: (ภาพโดยผเู ขยี น, 2564) 15

มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบงบทสรุป การเขียนโปรแกรมสามารถแบงไดเปน 2 ประเภท คือ การเขียนโปรแกรมบนวินโดวส (Windows-Based Application) และการเขียนโปรแกรมบนเว็บ (Web-Based Application) ซึ่ง การเขียนโปรแกรมบนเว็บ คือ การเขียนโปรแกรมที่การแสดงผลของโปรแกรมจะอยูบนเว็บ เบราวเซอร (Web Browser) ซึ่งผูใชสามารถเขาถึงไดผานทางเครือขายอินเทอรเน็ต การเขียน โปรแกรมบนเว็บจะสามารถแสดงผลไดภายใตหลักการทํางานของเวิลดไวดเว็บ ซึ่งคือ บริการคนหา หรือเรยี กดูขอมลู รปู แบบหน่ึงในระบบอนิ เทอรเน็ต ขอมูลในเวิลดไวดเว็บจะอยูในรูปแบบส่ือผสมหรือ มัลติมีเดีย (Multimedia) ท่ีมีท้ังตัวอักษร, รูปภาพ, เสียง และภาพเคลื่อนไหวในรูปแบบวิดีโอ ซึ่ง ขอ มลู จะถูกแบงเปนหนา ๆ แตละหนาสามารถเชื่อมโยงถึงกันในรูปแบบไฮเปอรเท็กซ (Hyper Text) เรียกวา เว็บไซต (Web Site) หลักการทํางานของเวิลดไวดเว็บจะเปนลักษณะการเชื่อมตอระหวาง เครื่องผูใหบริการ (Server) และเครื่องผูใชบริการ (Client) โดยประเภทของการเขียนโปรแกรมบน เว็บนั้นมี 2 ประเภทไดแก Static Programming คือเว็บไซตที่แสดงขอมูลทั่วไป และ Dynamic Programming คือเว็บไซตท่ีเนนใหผูใชเขามา \"ใชงาน\" มากกวาการดูขอมูลเพียงอยางเดียว และมี พ้ืนท่ีในการจัดเก็บขอมูลดวย โดยเครื่องมือท่ีใชในการเขียนโปรแกรมบนเว็บ ไดแก โปรแกรมเว็บ เซิรฟเวอร, โปรแกรมภาษาสําหรับประมวลผล, โปรแกรมฐานขอมูล และโปรแกรมสําหรับสรางเว็บ โดย 3 โปรแกรมแรกมีรวมอยู XAMPP และโปรแกรมสําหรับสรางเว็บในบทเรียนนี้ใชโปรแกรม Dreamweaver คาํ ถามทบทวน 1. พ้นื ฐานการเขียนโปรแกรมมีกป่ี ระเภทอะไรบาง 2. จงอธิบายหลกั การของการเขียนโปรแกรมบนเวบ็ 3. จงอธิบายหลักการทํางานของเวลิ ดไ วดเว็บ 4. จงอธิบายความแตกตางระหวา ง Web Application กบั Website 5. การเขยี นโปรแกรมบนเวบ็ แบงตามลกั ษณะการทาํ งานไดเ ปนกีป่ ระเภท อะไรบา ง 6. Web Application ถือวา เปน เว็บไซตทีม่ ีหลักการทาํ งานแบบ Static Programming หรอื แบบ Dynamic Programming เพราะเหตใุ ด 7. ภาษาสคริปตท่ใี ชใ นการสรา งเว็บเพจแบงเปนก่ปี ระเภท อะไรบาง 8. จงยกตัวอยา งโปรแกรมสาํ หรบั สรางเว็บหรือเขยี นโคด มาอยางนอย 2 โปรแกรม 9. ตาํ แหนงของ Document Root ในระบบเวบ็ เซิรฟเวอรของ XAMPP คืออะไร 10. จงอธิบายเหตุผลวาทาํ ไมเราจงึ ตองสรา งไซตในโปรแกรม Dreamweaver 16

มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบงเอกสารอา งองิ ชาญชัย ศภุ อรรถกร. (2015). การพฒั นาเว็บดว ยภาษา PHP. กรงุ เทพฯ : ซัคเซส มีเดีย. บญั ชา ปะสีละเตสัง. (2557). พัฒนาเวบ็ แอปพลิเคชน่ั ดวย PHP รว มกับ MySQL และ jQuery. กรงุ เทพฯ : ซเี อ็ดยูเคชัน่ . อนรรฆนงค คุณมณี. (2555). พฒั นาเว็บ App แบบมืออาชีพดวย PHP+AJAX และ jQuery. นนททบุรี : ไอซดี ี. เอกชัย แนนอุดร และวชิ า ศิริธรรมจกั ร. (2552). การเขียนโปรแกรมบนอนิ เตอรเน็ต. มหาสารคาม : อภิชาตกิ ารพิมพ. 17

มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบงแผนบริหารการสอนประจําบทท่ี 2 หัวขอเนือ้ หา 1. ประวตั แิ ละความเปนมาของภาษา PHP 2. ความสามารถของภาษา PHP 3. โครงสรา งของภาษา PHP 4. คําสัง่ สาํ หรบั แสดงผล 5. รปู แบบการเขียนคําสัง่ PHP 6. การเขยี นคําอธิบาย 7. คาํ สงวนของ PHP 8. ขอมลู ตวั แปร และชนิดของขอมูล 9. การประกาศตวั แปร 10. การตรวจสอบการกําหนดคาตวั แปรดวยฟง กชนั isset 11. การยกเลกิ หรือทาํ ลายตวั แปรดว ยฟงกช นั unset 12. การตรวจสอบชนิดตวั แปรดว ยฟง กช นั gettype 13. รจู กั และใชงานตัวดาํ เนนิ การ 14. การใชงานคา คงที่ 15. คา คงที่ของระบบและตวั แปรระบบ วัตถปุ ระสงคเ ชิงพฤติกรรม เม่อื นักศกึ ษาเรียนจบบทเรียนน้ีแลว สามารถ 1. บอกความหมายของภาษา PHP ได 2. อธิบายการทาํ งานของภาษา PHP ได 3. อธบิ ายโครงสรางของภาษา PHP ได 4. อธิบายคาํ สง่ั สาํ หรบั แสดงผลได 5. อธิบายรปู แบบการเขยี นคาํ สงั่ PHP ได 6. อธิบายวธิ ีการแทรกคาํ อธิบายในรูปแบบตางได 7. บอกคําสงวนในภาษา PHP ได 8. อธบิ ายวิธกี ารประกาศตวั แปรได 9. บอกชนิดของตวั แปรในภาษา PHP ได 18

มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบงวิธีสอนและกิจกรรมการเรยี นการสอน 1. วธิ ีสอน 1.1 วิธกี ารสอนแบบบรรยาย โดยใหน กั ศึกษาฟง บรรยายจากเอกสารประกอบการสอน วิชา การพฒั นาฐานขอมลู บนเวบ็ 1.2 อภปิ รายรว มกันในชัน้ เรยี น 2. กจิ กรรมการเรียนการสอน 2.1 คาํ ถามทบทวน 2.2 แบบฝก ปฏบิ ัติ การเขยี นโปรแกรมภาษา PHP 2.3 Active Learning แบบ PLC สื่อการเรยี นการสอน 1. เอกสารประกอบการสอน วิชา การพฒั นาฐานขอมูลบนเว็บ 2. เว็บไซตทม่ี ีเน้อื หาเกี่ยวขอ งกบั รายวชิ า 3. ส่ือสงั คมออนไลน การวัดผลและการประเมนิ ผล 1. สงั เกตการณม สี ว นรวมและการตอบคาํ ถาม 2. การทาํ งานตามทไี่ ดร บั มอบหมาย 3. การทาํ คาํ ถามทบทวน 4. การทําแบบฝก ปฏิบตั ิ 19

มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบงบทท่ี 2 PHP เบื้องตน ภาษาท่ีใชในการพัฒนาเว็บไซตน้ันมีมากมายหลายภาษา ในชวงแรกๆ ภาษาท่ีนิยมใช คือ ภาษา HTML (Hypertext Markup Language) โดยภายในหนาเว็บเพจ (Web page) จะประกอบ ไปดวยตัวอักษร เสียง ภาพน่ิง ภาพเคลื่อนไหว ท่ีไมสามารถคํานวณ ประมวลผลขอมูล หรือเชื่อมตอ กับฐานขอมูลได ใชในการแสดงผลขอมูลเทานั้นโตตอบกับผูใชไมได หรือท่ีเรียกวา Static Programming ตอมาไดพัฒนาภาษาที่ขอมูลจะถูกเปล่ียนแปลงโดยอัตโนมัติตามเงื่อนไขตาง ๆ ท่ี ผูเขียนกําหนดไว หรือเรียกวา Dynamic Programming ในปจจุบันมีหลายภาษาที่ถูกพัฒนาขึ้นมามี ลักษณะเปนภาษาสคริปต (Script Language) ท่ีสามารถคํานวณโตตอบกับผูใช มีฐานขอมูล และ ประมวลผลตามเง่ือนไขตาง ๆ ได และหนึ่งในภาษาสคริปตท่ีไดรับความนิยมในปจจุบันก็คือ ภาษา PHP (PHP Hypertext Preprocessor) ประวัตแิ ละความเปน มาของภาษา PHP ภาษา PHP พีเอชพี (PHP) ยอมาจาก PHP Hypertext Preprocessor เปนภาษาสคริปต สําหรับพัฒนาเว็บไซตที่ประมวลผลในฝงเครื่องแมขายเหมือนภาษาเอเอสพี (asp) ถูกสรางขึ้นในป ค.ศ. 1994 ผูพ ฒั นา คอื Rasmus Lerdorf จุดเรม่ิ ตนมาจากความตองการที่จะบันทึกขอมูลผูที่เขามา เยยี่ มชมเวบ็ ไซตสวนตวั ท่ีสรางข้นึ โดยแนวคดิ คอื การเขยี นโปรแกรมดวยภาษา C ตองการแยกสวนท่ี เปนภาษา HTML ออกจากภาษา C และเปนเหตผุ ลสําคญั ทําใหสรางโคดของภาษา HTML ขึ้นมาใหม และตง้ั ชอ่ื วา Personal Home Page (PHP Tool) ในป ค.ศ. 1997 ไดผูรวมพัฒนาเพ่ิมอีก 2 คน คือ Zeev Suraski และ Andi Gutmans ไดพัฒนาและปรับปรุงเพ่ิมฟงกชันใหมๆมากข้ึน สามารถเขียน โปรแกรมเชิงวัตถุ สามารถทํางานรวมกับเว็บเซิรฟเวอรบนระบบปฏิบัติการท่ีหลากหลายไดจนเปนที่ นยิ มและเปลี่ยนชือ่ มาเปน PHP Hypertext Preprocessor (คะชา ชาญศิลป, 2553) ความสามารถของภาษา PHP - เปน ภาษาท่เี ปนแบบ Open source สามารถนํา Source code ของ PHP ไปใชไดโ ดยไมเ สยี คาใชจ า ย - เปน สคริปตแ บบ Server Side Script ดังน้นั จงึ ทาํ งานบนเว็บเซริ ฟเวอรได - สามารถทาํ งานไดท ั้งบนระบบปฎบิ ตั ิการ Linux, Unix หรือ Windows - สนับสนุนการเขียนโปรแกรมเชิงวตั ถุ (Object Oriented Programming) 20

มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบง - สามารถทํางานรวมกับระบบจัดการฐานขอมูลที่หลากหลาย เชน Oracle, mySQL, Access, PostgreSQL, dBase และ SQLServer เปนตน - อนญุ าตใหผูใชสรางเวบ็ ไซตซ ึ่งทํางานผานโปรโตคอลชนิดตางๆ ได เชน NNTP, IMAP, SNMP, POP3 และ HTTP เปน ตน - สามารถเขยี น และอา นในรูปแบบของ XML ได (อนรรฆนงค คุณมณ,ี 2555) โครงสรา งของภาษา PHP การแทรกภาษา PHP ลงในเอกสาร HTML เพื่อบงบอกใหรูวาสวนใด คือ จุดเร่ิมตน และ จุดสิ้นสุดของภาษา PHP ท่ีอยูภายในเอกสาร HTML สามารถแทรกอยูในบล็อกคําสั่งได 4 รูปแบบ ดังน้ี 1. XML Style หรอื Default Syntax รปู แบบ <?php คําสง่ั ท่ี 1; คําส่งั ที่ 2; … คําสงั่ ที่ N; ?> 2. SGML Style หรอื Short Tags รปู แบบ <? คาํ สง่ั ที่ 1; คาํ ส่งั ที่ 2; … คําสง่ั ที่ N; ?> 3. Script Style รูปแบบ <script language = “php”> คําสงั่ ท่ี 1; 21

มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบงคาํ ส่งั ที่ 2; … คาํ สัง่ ท่ี N; </script> 4. ASP Style รปู แบบ <% คาํ สั่งท่ี 1; คาํ สงั่ ที่ 2; … คําสั่งที่ N; %> เราสามารถแทรกสครปิ ต PHP ในรปู แบบใดก็ได ซึง่ กไ็ ดผลลัพธไมแตกตางกัน แตในบทเรียน นจ้ี ะเลอื กใชแ บบ XML Style หรือ Default Syntax เนอื่ งจากสามารถทาํ งานไดก ับทกุ เวบ็ เซริ ฟเวอร (ปรญิ ญา นอยดอนไพร, 2556) คําสงั่ สําหรบั แสดงผล คําส่ังสําหรับแสดงผลในภาษาพีเอชพีมีหลายคําส่ัง เชน echo และ print เปนตน ซึ่งเปน คําส่ังสําหรับการแสดงผล ขอความ ตัวเลข หรือ ตัวแปรท่ีถูกกําหนดคาไว ซึ่งจะนิยมใช echo มากกวา print เน่ืองจากประมวลไดร วดเรว็ กวา รปู แบบการเขียน ดังนี้ <?php echo “Hello World”; print “Hello PHP”; ?> รูปแบบการเขียนคาํ สั่ง PHP สเตทเมนท (Statement) คอื คําส่ังที่สมบูรณที่โปรแกรมสามารถนําไปใชในการประมวลผล ได โดย Statement จะแบงเปน 2 ลกั ษณะ ดังนี้ 1. คําส่ังเด่ียว (Single Statement) คือ สเตทเมนท (Statement) ที่ประกอบดวยคําสั่ง เพียงคําส่ังเดียว โดยใชเคร่ืองหมาย Semicolon (;) เปนตัวแบงแตละ Statement เชน โคดตอไปนี้ ซึ่งแตล ะคาํ ส่ัง คอื 1 Statement 22

มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบง $s = “Hello”; echo $s; 2. คําส่ังยอย (Compound Statement) คือ สเตทเมนท (Statement) ที่ประกอบดวย หลาย ๆ คาํ ส่งั หรือ Statement ยอย ๆ รวมกนั เชน if ($s == 0) { echo $s; exit; } การเขียนรหัสคําสั่งหากมีหลายรหัสคําสั่ง จะตองค่ันดวยเคร่ืองหมายเซมิโคลอน (;) ทุกคร้ัง เพ่อื แยกแตละคําส่ังออกจากกนั เพ่อื ระบจุ ดุ สน้ิ สดุ ของรหัสคําสงั่ น้นั การแสดงผลตัวแปรสามารถใชคําส่ัง echo หรือ print ตัวแปรนั้นไดเลย แตหากเปน ตัวอักษร จะตองมีเครื่องหมาย “” (Double Quote) หรือ ‘’ (Single Quote) ซึ่งภายในสามารถ แทรกแท็กคําส่ังภาษาเอชทีเอ็มแอลได เพ่ือแสดงผลทางหนาเว็บเพจ หากตองการเชื่อมระหวาง ตัวอักษรกับตัวแปร สามารถเชื่อมโดยใชเครื่องหมาย .(Dot) หรือระบุตัวแปรภายในเครื่องหมาย แสดงผลตัวอักษรไดเลย หรือหากตองการแสดงผลเครื่องหมาย “” โดยใชคําสั่งพีเอชพีจะตองมี เครื่องหมาย \\ (Slash) เพอื่ ใหแ สดงผลเปน เครื่องหมายไมใ ชร หัสคาํ สั่งพีเอชพี เชน <?php $year = 2527 ; $month = “มนี าคม” ; echo “<br>เดอื น $month ป พ.ศ. $year” ; echo “<img src=\\“pic/pic1.jpg\\” width= \\“300\\”> ”; ?> การเขียนคําอธิบาย คําอธิบาย (Comment) ใชในการอธิบายเก่ียวกับโปรแกรมท่ีเราเขียน เพ่ือชวยใหเรา พิจารณาโคดไดงายขึ้น โดยที่โปรแกรมจะไมนําสวนที่เปนคําอธิบายไปประมวลผล ใน PHP สามารถ เขียนคําอธิบายได ดงั นี้ 1. Single-line Comment เปนการเขียนคําอธิบายแบบบรรทัดเดียว โดยใชเครื่องหมาย “//” หรือไมก็ “#” วางไว ณ จุดท่ีตองการแทรกคําอธิบาย จากนั้นก็เขียนขอความตอทาย 23

เคร่ืองหมาย // หรือ # ไดเลย ซึ่งต้ังแตเคร่ืองหมายไปจนส้ินสุดบรรทัด โปรแกรมจะถือวาเปน คาํ อธิบายและจะไมน าํ มาประมวลผล เชน <?php $a = 10 ; // การกาํ หนดคาใหกบั ตัวแปร a $b = 5 ; // การกําหนดคา ใหกับตวั แปร b #จากนัน้ นําตัวแปร a และ b มาบวกกนั แลวเก็บผลลัพธท ี่ไดลงในตวั แปร c $c = $a+$b ; ?> 2. Multiple-line Comment เปนการเขียนคําอธิบายหลายๆบรรทัด โดยใชสัญลักษณ /* */ โดยโปรแกรมจะถือวาตั้งแตสัญลักษณ /* เปนตนไปเปนคําอธิบายจนกวาจะเจอสัญลักษณ */ จงึ ถือวา ส้ินสุดคําอธิบาย เหมาะกบั การเขยี นคําอธิบายทีย่ าวๆ ตอเน่ืองกันหลายๆบรรทดั เชน <?php /* เวบ็ ไซตน สี้ รางโดย นายปยะ สาดี เมือ่ ป พ.ศ. 2562 ดวยภาษา PHP */ $a = 10 ; // การกาํ หนดคา ใหก ับตัวแปร a $b = 5 ; // การกําหนดคา ใหกับตัวแปร b $c = $a+$b ; ?> มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบง คําสงวนของ PHP Reserved Word หรือ Keyword หมายถึง คําท่ีสงวนไวใชเปนคําส่ังเพื่อควบคุมการทํางาน ตางๆของ PHP ซ่งึ ไมสามารถนาํ คําเหลานไ้ี ปกาํ หนดเปนชื่ออยางอ่ืนได มดี งั นี้ ตารางท่ี 2.1 คาํ สงวนของ PHP __halt_compiler() abstract and array() as break callable case catch class clone const continue declare default die() do echo else elseif empty() enddeclare endfor endforeach endif endswitch endwhile eval() exit() extends 24

final finally fn (as of PHP for foreach function 7.4) implements include interface isset() global goto if new or include_once instanceof insteadof public require switch throw list() match (as of namespace use มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบงvar yield from __CLASS__ PHP 8.0) __LINE__ __NAMESPACE__ print private protected require_once return static trait try unset() while xor yield __DIR__ __FILE__ __FUNCTION__ __TRAIT__ __METHOD__ ที่มา: (บญั ชา ปะสลี ะเตสัง, 2557, หนา 43) (บัญชา ปะสลี ะเตสัง, 2557) ขอมูล ตัวแปร และชนดิ ของขอมลู ขอมูล ถือเปน ส่ิงสําคัญที่สุดของการเขียนโปรแกรม เราเขียนสคริปต PHP ก็เพื่อนําขอมูลมา ประมวลผลใหไดตามวัตถุประสงคท ีต่ องการ ในระหวางการประมวลผลเราจะใชสิ่งที่เรียกวา ตัวแปร (Variable) มาทําหนาที่เก็บคาของ ขอมลู ซ่ึงเราจะต้งั ช่อื ใหก บั ตวั แปรแตล ะตวั เพอื่ แยกแยะ และเพอื่ ความเขา ใจในการทํางาน เนื่องจากมีขอมูลหลากหลายรูปแบบทั้งขอความ ตัวเลข วันเดือนป ฯลฯ ทําใหเราตองแบง ขอมูลออกเปนประเภท (Data Type) แลวกําหนดตัวแปรใหเขากับชนิดขอมูลน้ันๆ เราอาจแบงชนิด ของตัวแปรได 3 กลมุ หลักๆ ไดแ ก 1. ตัวแปรแบบคาเดยี ว เปนตัวแปรทเ่ี กบ็ ขอมูลไดเ พียงคาเดียวเทา นัน้ 2. ตัวแปรแบบหลายคา เปนตัวแปรท่ีเก็บขอมูลไดเปนชุดๆ ซึ่งขอมูลที่เก็บอาจเปน ชนดิ เดียวกันหรือคนละชนดิ กไ็ ด 3. ตัวแปรแบบพิเศษ เปนตัวแปรที่การใชงานอาจตองใชกับฟงกชันขั้นสูง หรืออาจ เปนตวั แปรทไ่ี มม ีคา โดยชนดิ ของขอมลู (Data Type) ที่ใชในภาษา PHP มีอยูหลายประเภท ดังน้ี 25

มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบง1. ขอมูลชนิดกลุมอักขระ (String) คือ ขอมูลที่นําเอาตัวอักษร ตัวเลข และเคร่ืองหมายตาง ๆ มาประกอบกันเปน ขอความ เชน $s1 = “Hello”; $s2 = “1200 บาท”; 2. ขอมูลชนิดตรรกะ (Boolean) ใชเก็บขอมูลดานตรรกศาสตร ซึ่งจะแสดงคาของตัวแปร ออกมาเปน true (จริง) และ false (เท็จ) เทานัน้ เชน $f = boolean; 3. ขอมูลชนิดเลขจํานวนเต็ม (Integer) ขอมูลชนิดน้ีเปนเลขจํานวนเต็มทั้งจํานวนเต็มบวก, เต็มลบ และศูนย สามารถแสดงในรูปแบบของเลขฐานสิบ, ฐานแปด หรือฐานสิบหกได หากตองการ เลขฐานแปด ใหใสคา 0 นําหนาตัวเลข และหากตองการเลขฐานสิบหก ใหใสคา 0x นําหนาตัวเลข เชน $a = 12; $b = 012; $c = 0x12; 4. ขอมูลชนิดเลขทศนิยม (Floating-Point Number) ขอมูลชนิดนี้อาจเปนทั้งเลขทศนิยม หลักเดยี ว หรอื หลายหลักก็ได และเปน จํานวนบวก, ลบ หรือรูปแบบเลขทางคณติ ศาสตรก ็ได $a = 14.15; $b = -145.123; $c = 3.2e5; 5. ขอมูลและตัวแปรชนิดอารเรย (Array) คือตัวแปรที่จัดเก็บขอมูลไดมากกวา 1 คา ซึ่งการ เรยี กใชขอ มูลในตัวแปรอารเ รย จะใชชอ่ื อารเ รยควบคูกับลําดับตําแหนงท่ีเก็บขอมูล เรียกวา อินเด็กซ เชน $a = array (“Red”, “Green”, “Blue”); 6. ขอมูลและตัวแปรชนิดออปเจก็ ต ออปเจ็กต ในการเขียนโปรแกรม คือ ส่ิงที่เราสมมติข้ึนมาแทนวัตถุอยางใดอยางหนึ่ง และ จะตอ งมีคุณสมบตั ิ 2 ประการ คือ ตองมีคุณสมบัติเฉพาะตัว (Property) และความสามารถท่ีเรียกใช งานได (Method) 7. ขอ มลู และตัวแปรชนิด Null เปน การระบุถึงการไมมีคา ใด ๆ อยใู นตวั แปร เชน $a = Null; 26

มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบงการประกาศตวั แปร การประกาศตัวแปรในภาษา PHP น้ันจะขึ้นตนดวยเคร่ืองหมาย $ (Dollar Sign) ตามดวย ชอ่ื ของตวั แปร และตามดว ยคาของตวั แปร เชน รูปแบบ $ตวั แปร = คา ของตัวแปร; กฎการต้งั ชอื่ ตวั แปร มดี งั นี้ - หามข้นึ ตนช่ือดวยตัวเลขแตใ ชต วั เลขประกอบในช่ือตวั แปรได - สามารถใชต ัวอกั ษรภาษาอังกฤษหรือภาษาไทยได - สามารถใชส ัญลักษณ _ (Underscore) ข้นึ ตน หรอื ผสมอยภู ายในชื่อตวั แปรได - หา มใชส ญั ลกั ษณทางคณติ ศาสตรประกอบเปน ชอ่ื ตวั แปร - หา มใชการเวนวรรคภายในช่ือตัวแปร ขอ พึงระวงั : การใชต ัวอักษรตวั พิมพใ หญและตัวพมิ พเลก็ แมจะสอ่ื ถงึ คาํ เดียวกนั แตถือวาตัว แปรเปนคนละตัวกัน ทางเทคนิค เรียกวา Case-Sensitive หากพิมพช่ือตัวแปรผิด โปรแกรมจะไม แสดงขอผิดพลาดใหเ ราเหน็ แตผลลัพธข องโปรแกรมจะไมถูกตอง การตรวจสอบการกาํ หนดคา ตวั แปรดวยฟง กชนั isset ในบางคร้ังตัวแปรท่ีเรานํามาใชงานอาจยังไมไดรับการกําหนดคา ซึ่งถานํามาใชงานอาจเกิด ขอผิดพลาดได ดงั นั้นเราสามารถตรวจสอบวาตวั แปรท่ีเราตองการใชงานนั้นมีการกําหนดคาไวหรือไม ดว ยฟง กชัน isset รูปแบบ ดงั น้ี isset($ชอื่ ตัวแปร); หากฟงกชัน isset คืนคาเปน true แสดงวาตัวแปรนั้นมีการกําหนดคาไวแลว แตถาคืนคา เปน False กแ็ สดงวายงั ไมม ีการกาํ หนดคา ใหต ัวแปร การยกเลกิ หรอื ทําลายตัวแปรดว ยฟงกชนั unset เน่ืองจากทรัพยากรของระบบมีจํากัด ถามีผูใชงานจํานวนมากๆ ก็อาจสงผลใหการทํางาน โดยรวมชาลงดวย ดังนั้น วิธีการท่ีดีก็คือ เมื่อเราไมไดใชตัวแปรใด ๆ แลวก็ทําลายตัวแปรนั้นเสียเพื่อ คนื ทรัพยากรใหร ะบบ ซ่ึงทําไดโ ดยใชฟงกช ัน unset รูปแบบ ดังน้ี unset($ช่อื ตวั แปร); 27

การตรวจสอบชนิดตัวแปรดว ยฟง กช ัน gettype เนื่องจากการประกาศคาตัวแปรในภาษา PHP น้ันไมไดระบุชนิดของตัวแปร การจะนําคา ของตัวแปรไปใชงานเราควรตรวจสอบชนิดขอมูลในตัวแปรน้ันเสียกอนเพื่อจะไดนําขอมูลท่ีอยูในตัว แปรนัน้ ไปใชไ ดอยา งเหมาะสม ซงึ่ ทําไดโดยใชฟงกช นั gettype รูปแบบ ดงั นี้ gettype($ชอ่ื ตัวแปร); มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบง รูจ กั และใชงานตัวดาํ เนนิ การ ตวั ดาํ เนินการ (Operator) คือ ส่งิ ท่ีกอใหเ กิดการกระทํากบั ขอมูล เชน กอใหเกิดการคํานวณ ทางคณิตศาสตร หรือเกิดการเปรียบเทียบในเชิงตรรกะทําใหเกิดเปนผลลัพธออกมา ซึ่งขอมูลท่ี นํามาใชกับตัวดําเนินการเรียกวา Operand เชน a+b น่ันคือ มีตัวดําเนินการ คือ + และมี a และ b เปน Operand เปน ตน ซง่ึ ตัวดาํ เนินการจะมีหลายกลมุ ดงั น้ี 1. ตวั ดาํ เนนิ การทางคณิตศาสตร (Arithmetic Operator) เปนตัวดําเนินการที่ใชดําเนินการ กับตวั เลข ดงั น้ี ตารางท่ี 2.2 ตวั ดาํ เนินการทางคณิตศาสตร ตัวดาํ เนนิ การ ชอ่ื หนา ท่ี ตวั อยา ง + Addition บวก $c = $a + $b - Subtraction ลบ $c = $a - $b * Multiplication คูณ $c = $a * $b / Division หาร $c = $a / $b % Modulo หารเอาเศษ $c = $a % $b ท่มี า: (อนรรฆนงค คุณมณี, 2555, หนา 37) 2. ตวั ดําเนนิ การเพิ่มและลดคา (Increment/Decrement Operators) เปนตัวดําเนินการท่ี ใชเ พิ่มหรอื ลดคาลง 1 คา และมีการใชงานท่ีแตกตางกันตามตําแหนงของตัวแปรวาอยูดานหนาหรือ ดานหลังตัวดําเนินการทําใหมีผลตางกัน เชน มีผลในขณะเรียกใชงาน หรืออาจมีผลหลังจากเรียกใช งานตวั ดาํ เนนิ การ ตารางท่ี 2.3 ตัวดําเนินการเพม่ิ และลดคา ตวั ดําเนินการ ตัวอยาง คําอธิบาย ++ ++$a เพิ่มคาของ $a ไป 1 คา -- $a++ แสดงคา ตวั แปร $a คงเดมิ กอน จากนั้นจงึ เพิ่มคา --$a ของ $a ไป 1 คา ลดคา ของ $a ไป 1 คา 28


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook