มหา ิวทยา ัลยราช ัภฏห ู่ม ้บานจอม ึบง เอกสารประกอบการสอน รายวิชาการพฒั นาฐานขอ มลู บนเว็บ ปยะวดี พงษสวัสดิ์ คณะวิทยาศาสตรแ ละเทคโนโลยี มหาวิทยาลัยราชภัฏหมูบ า นจอมบงึ 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
Search
Read the Text Version
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209