860 likes | 998 Vues
Web Development. MIDTERM 50% Week1 Introduction to Web development HTML CSS Basic PHP Week2-3 Basic database Design HTML form and Javascript PHP & Database Week4 JQuery AJAX. Web Development. FINAL 50% Week5-6 Web Services XML Web Service Client Web Service Server
E N D
Web Development MIDTERM 50% • Week1 • Introduction to Web development • HTML • CSS • Basic PHP • Week2-3 • Basic database Design • HTML form and Javascript • PHP & Database • Week4 • JQuery • AJAX
Web Development FINAL 50% • Week5-6 • Web Services • XML • Web Service Client • Web Service Server • Web2.0 Mashup • Week7 • PHP template with Smarty
MIDTERM 50% • Quiz + Assignment 15% • Lab exams 15 % • Lecture exams 20% TOTAL 50%
Basic php อ.วิวัฒน์ ศรีภูมิ สาขาวิชาเทคโนโลยีสารสนเทศและการสื่อสาร คณะวิทยาการสารสนเทศ มหาวิทยาลัยมหาสารคาม
กลไกการทำงานของเว็บเพจและ ไฟล์ PHP • รูปแบบทั่วไป กลไกการทำงานของเว็บเพจทั่ว ๆ ไปที่เป็นภาษา HTML นั้นเมื่อเราเปิดเว็บบราวเซอร์โปรแกรมเว็บบราวเซอร์ของเราก็จะร้องขอไปยังเว็บเซิร์ฟเวอร์ เว็บเซิร์ฟเวอร์ก็จะส่งไฟล์เว็บเพจHTML กลับมา แสดงผลบนหน้าจอเว็บเซิร์ฟเวอร์ของเรา 1. ผู้ใช้ร้องขอไฟล์ htmlจากเว็บเซิร์ฟเวอร์ 2. เว็บเซิร์ฟเวอร์ส่งไฟล์ html กลับมา
กลไกการทำงานของเว็บเพจและ ไฟล์ PHP • รูปแบบที่ใช้ PHPเมื่อเราเปิดเว็บบราวเซอร์ โปรแกรมเว็บบราวเซอร์จะร้องขอไฟล์ PHPไปยังเว็บเซิร์ฟเวอร์ยังเว็บเซิร์ฟเวอร์ ก็จะเรียก PHP engineขึ้นมาแปลไฟล์ PHPและติดต่อกับฐานข้อมูล แล้วส่งผลลัพธ์ที่ได้จากการแปลและประมวลผลเป็น ภาษา HTMLทั้งหมดกลับไปยังเว็บบราวเซอร์ให้ผู้ใช้ 2. เว็บเซิร์ฟเวอร์ประมวลผลไฟล์ phpและอาจจะเรียกใช้ Database server 1. ผู้ใช้ร้องขอไฟล์ phpจากเว็บเซิร์ฟเวอร์ scripts PHP 3. เว็บเซิร์ฟเวอร์ส่งไฟล์ html กลับมา
ความสามารถของ PHP • ความสามารถพื้นฐาน • สร้างฟอร์มโต้ตอบ หรือรับ-ส่งข้อมูลกับผู้ใช้ได้ • แทรกโค้ด phpเข้าไประหว่างโค้ดภาษา htmlได้ทันที • มีฟังก์ชันสนับสนุนการทำงานต่าง ๆ เช่นเดียวกับภาษาขั้นสูงโดยทั่ว ๆ ไป • ความสามารถในการติดต่อกับฐานข้อมูล • สามารถรองรับการใช้งานฐานข้อมูลได้มากมาย เช่น Access, dBase, ExpressInformix, mySQL, Oracle, SQLServerเป็นต้น ในวิชานี้เราจะกล่าวถึงการใช้งาน phpกับ ฐานข้อมูล mySQLเนื่องจากเป็นฐานข้อมูลที่ใช้งานได้ง่าย และได้รับความนิยมใช้งานร่วมกับ phpมากที่สุด • ความสามารถขั้นสูง • สนับสนุนการติดต่อกับโปรโตคอลได้หลากหลาย • สามารถทำงานกับฮาร์ดแวร์ได้ทุกระดับ
ลักษณะเด่นของ PHP • ใช้ได้ฟรี • PHPเป็นโปรแกรมรันฝั่งเซิร์ฟเวอร์ (server side script) ดังนั้นขีดความสามารถไม่จำกัด • PHPรันบนระบบปฏิบัติการ UNIX,Linux,Windowsได้หมด • เรียนรู้ง่าย เนื่องจาก PHPฝั่งเข้าไปใน HTMLและใช้โครงสร้างและไวยากรณ์ภาษาง่ายๆ • เร็วและมีประสิทธิภาพ • ใช้ร่วมกับ XMLได้ทันที • ใช้กับระบบแฟ้มข้อมูลได้ • ใช้กับข้อมูลตัวอักษรได้อย่างมีประสิทธิภาพใช้กับโครงสร้างข้อมูลใช้ได้แบบ Scalar,Array,Associative array • ใช้กับการประมวลผลภาพได้
องค์ประกอบของการเขียนสคริปต์ PHP • Server • Client • Web Server Software • Text Editor Software • PHP Script Language • Database Server Software • Database Manager Software
AppServ • AppServเป็นโปรแกรมสำหรับจำลองให้เครื่องคอมพิวเตอร์ทั่วไปเป็น เซิร์ฟเวอร์ • AppServประกอบด้วย • PHP Script Language • Apache Web Server • MySQL Database • phpMyAdmin Database Manager สามารถดาวน์โหลดชุดโปรแกรม AppServได้จาก www.appservnetwork.com
ทดสอบการทำงานสคริปต์ PHP • ให้นิสิตลองพิมพ์คำสั่งดังต่อไปนี้ ใน Text Editor ตัวใดก็ได้ เช่นNotepad หรือ Edit plus • บันทึกไฟล์เป็นชื่ออะไรก็ได้ และนามสกุลเป็น .phpเช่น test.phpเป็นต้น ไว้ใน \Appserv\www • เปิดโปรแกรมบราวเซอร์ แล้วพิมพ์ “http://localhost/test.php” ผลลัพธ์ที่ได้
Variable and operator อ.วิวัฒน์ ศรีภูมิ สาขาวิชาเทคโนโลยีสารสนเทศและการสื่อสาร คณะวิทยาการสารสนเทศ มหาวิทยาลัยมหาสารคาม
การใช้งานข้อมูล ตัวแปร และ ตัวดำเนินการ • เราอาจแบ่งชนิดข้อมูลและตัวแปรได้ 3 กลุ่มหลัก ๆ • ชนิดข้อมูลและตัวแปรแบบค่าเดียว เป็นตัวแปรที่เก็บข้อมูลได้เพียงตัวเดียวเท่านั้น ซึ่งประกอบด้วย • ข้อมูลชนิดกลุ่มอักขระ (String) • ข้อมูลชนิดตรรกะ (Boolean) • ข้อมูลชนิดจำนวนเต็ม (Integer) • ข้อมูลชนิดเลขทศนิยม (Floating-Point Number) • ชนิดของข้อมูลและตัวแปรแบบหลายค่า เป็นข้อมูลที่เก็บได้เป็นชุด ๆ โดยในชุดเดียวกันอาจจะเป็นชนิดเดียวกันทั้งหมด หรือต่างชนิดกันก็ได้ • ชนิดของข้อมูลและตัวแปรแบบพิเศษ เป็นตัวแปรที่แตกต่างจากชนิดอื่น การใช้งานอาจต้องใช้กับฟังก์ชันขั้นสูง หรืออาจเป็นตัวแปรที่ไม่มีค่า
การประกาศตัวแปร • ก่อนที่จะใช้งานตัวแปรเราต้องประกาศตัวแปร (Variable Declaration) ให้ PHP engineทราบเสียก่อนโดยการประกาศตัวแปรในภาษา PHPนั้นจะขึ้นต้นด้วยเครื่องหมาย $ (Dollar sign)ตามด้วยชื่อของตัวแปร (ถ้าต้องการกำหนดค่าให้กับตัวแปรทันทีที่ประกาศ ก็ให้ต่อด้วยเครื่องหมายเท่ากับและค่าของตัวแปร)
กฎการตั้งชื่อตัวแปร • ต้องขึ้นต้นด้วยตัวอักษร หรือ _ (Underscore) เท่านั้น (ใช้ตัวอักษรได้ทั้งไทย และอังกฤษ) • ตั้งแต่ตัวที่สองเป็นต้นไป ต้องเป็นเหมือนข้อ 1และสามารถมีตัวเลข (0-9) ได้ • ห้ามมีสัญลักษณ์พิเศษในชื่อตัวแปร **การใช้อักษรพิมพ์ใหญ่ กับอักษรพิมพ์เล็ก แม้จะสื่อถึงคำเดียวกันแต่จะถือว่าเป็นตัวแปรคนละตัว ทางเทคนิคเรียกว่า “Case-Sensitive”
ตรวจสอบการกำหนดค่าตัวแปรด้วยฟังก์ชัน isset • หากฟังก์ชัน issetคืนค่าเป็น • trueแสดงว่ามีการกำหนดค่าให้กับตัวแปรแล้ว • falseแสดงว่ายังไม่มีการกำหนดค่าให้กับตัวแปร
การยกเลิกหรือทำลายตัวแปรด้วยฟังก์ชัน unset • เนื่องจากทรัพยากรของระบบมีจำกัด แม้ว่าจะทำงานบนเซิร์ฟเวอร์ที่มีความสามารถสูง แต่ถ้ามีผู้ใช้งานจำนวนมาก ๆ ทรัพยากรของระบบก็จะลดน้อยลง ส่งผลให้การทำงานโดยรวมช้าลง • เมื่อเราไม่ใช้ตัวแปรใด ๆ แล้วควรจะทำลายตัวแปรนั้น แล้วคืนทรัพยากรให้กับระบบ ด้วยฟังก์ชัน unset
การตรวจสอบชนิดตัวแปรด้วยฟังก์ชัน gettype • การใช้งานตัวแปรใน PHP นั้นส่วนใหญ่ไม่ได้ระบุชนิดของตัวแปรเอาไว้ บางครั้งเราควรตรวจสอบชนิดของตัวแปรก่อนเพื่อที่จะนำไปใช้ได้อย่างเหมาะสม
การตรวจสอบชนิดตัวแปรด้วยฟังก์ชัน gettype
ตัวดำเนินการ (Operator) • ตัวดำเนินการทางคณิตศาสตร์ (Arithmetic Operator) • ตัวดำเนินการทางตรรกะ (Logical Operator) • ตัวดำเนินการเปรียบเทียบ (Relational Operator) • ตัวดำเนินการระดับบิต (Bitwise Operator) • ตัวดำเนินการเชิงข้อความ (String Operator)
ตัวดำเนินการทางคณิตศาสตร์ตัวดำเนินการทางคณิตศาสตร์
ตัวดำเนินการทางคณิตศาสตร์ตัวดำเนินการทางคณิตศาสตร์
ตัวดำเนินการทางตรรกะ ** ตัวแปร $x และ $y ในตัวอย่างต้องเป็นชนิด boolean
ตัวดำเนินการเปรียบเทียบตัวดำเนินการเปรียบเทียบ ** ผลลัพธ์ที่ได้จากตัวดำเนินการเปรียบเทียบ จะเป็นค่าตรรกะ คือ จริง หรือ เท็จ
ตัวดำเนินการเปรียบเทียบตัวดำเนินการเปรียบเทียบ
ตัวดำเนินการเชิงข้อความตัวดำเนินการเชิงข้อความ
การใช้งานค่าคงที่ • ถ้าเราต้องการกำหนดค่าโดยที่เป็นค่าเดิมไปตลอดการทำงานของโปรแกรมโดยไม่อนุญาตให้เปลี่ยนแปลงค่าได้ เรียกว่า ค่าคงที่(Constant)
Control statement อ.วิวัฒน์ ศรีภูมิ สาขาวิชาเทคโนโลยีสารสนเทศและการสื่อสาร คณะวิทยาการสารสนเทศ มหาวิทยาลัยมหาสารคาม
การใช้คำสั่ง if คำสั่ง ifเป็นคำสั่งเพื่อตรวจสอบเงื่อนไข โดยถ้าเงื่อนไขเป็นจริงก็จะเข้าไปทำในบล็อกคำสั่งหลัง if
การใช้คำสั่ง switch..case • ในกรณีที่ต้องตรวจสอบหลายเงื่อนไขและไม่สะดวกในการใช้คำสั่ง if • variable คือ ตัวแปรที่ต้องการตรวจสอบค่า • ถ้าค่าในตัวแปรตรงกับค่าใดค่าหนึ่งหลัง caseก็จะทำ statementใน caseนั้น ๆ • breakคือให้ออกจากบล็อก switch..case • statementที่อยู่ใน defaultจะทำเมื่อค่าในvariableไม่ตรงกับค่าใด ๆ ในแต่ละ case เลย
ตัวอย่างการใช้คำสั่ง switch..case
การใช้คำสั่ง for • คำสั่ง forเป็นการทำงานแบบซ้ำ ๆ ตามเงื่อนไขที่กำหนด หรือที่เราเรียกว่า “การวนลูป (Loop)” นั่นเอง การทำงานเป็นดังนี้ 1. เริ่มต้น จะกำหนดค่าให้กับตัวแปรตามที่เรากำหนด 2. ตรวจสอบว่าเงื่อนไขจริงหรือไม่ ถ้าจริง ก็จะเข้าไปทำงานในบล็อกคำสั่ง forแต่ถ้าเท็จก็จะไม่เข้าไปทำและหยุดการทำงานทันที 3. หลังจากทำคำสั่งในบล็อกเสร็จ ก็จะเปลี่ยนค่าตัวแปรตามที่เรากำหนด 4. กลับไปทำข้อ 2
การใช้คำสั่ง while • ในการใช้ลูปแบบ forเราจำเป็นต้องทราบค่าเริ่มต้น และค่าสุดท้ายของลูป แต่บางกรณีเราอาจไม่ทราบค่าที่แน่นอนของค่าเริ่มต้น หรือค่าสุดท้ายของการวนลูป แต่อาจทราบเพียงเงื่อนไขบางอย่างเท่านั้น ** อย่าลืมเปลี่ยนค่าตัวแปรที่ใช้สำหรับตรวจสอบเงื่อนไขในบล็อกของ whileไม่เช่นนั้นอาจจะทำให้เกิด infinity loop
การใช้คำสั่ง do..while • เป็นการตรวจสอบเงื่อนไขเช่นเดียวกับลูปแบบ whileแต่ do..whileจะตรวจสอบเงื่อนไขท้ายลูป นั่นคือ • whileจะตรวจสอบเงื่อนไขก่อนเข้าไปทำงานในลูป • do..whileจะเข้าไปทำงานในลูปก่อน แล้วค่อยตรวจสอบเงื่อนไขทีหลัง ** เช่นเดียวกับลูป whileอย่าลืมปรับค่าตัวแปรที่ใช้สำหรับตรวจสอบเงื่อนไข ไม่เช่นนั้นอาจจะเกิด infinity loop
ตัวอย่างการใช้คำสั่ง while
การใช้คำสั่ง breakและ continue • คำสั่ง breakเป็นคำสั่งให้ ออกจากลูป โดยไม่วนลูปที่เหลือต่อไปอีก • คำสั่ง continueเป็นคำสั่งให้เริ่มลูปรอบใหม่ต่อไป โดยข้ามคำสั่งที่อยู่หลัง continueทั้งหมด
Function and array อ.วิวัฒน์ ศรีภูมิ สาขาวิชาเทคโนโลยีสารสนเทศและการสื่อสาร คณะวิทยาการสารสนเทศ มหาวิทยาลัยมหาสารคาม
Function • ฟังก์ชันเป็นชุดคำสั่งการกระทำอย่างใดอย่างหนึ่ง เช่น การคำนวณหาผลลัพธ์บางอย่าง ซึ่งอาจจะมีการใช้งานอยู่บ่อย ๆ เราจึงแยกชุดการทำงานเหล่านี้ออกมาและตั้งชื่อไว้ เมื่อต้องการใช้งานก็สามารถเรียกชื่อฟังก์ชันนั้นได้เลย โดยไม่ต้องเขียนชุดคำสั่งเหล่านั้นขึ้นมาใหม่ • ฟังก์ชัน มีทั้งแบบที่ PHPสร้างไว้ให้เราใช้ เรียกว่า Predefined Functions และส่วนที่เราสร้างไว้ใช้งานเองเรียกว่า User defined Function
การสร้างฟังก์ชัน • functionNameเราตั้งชื่ออะไรก็ได้ (ใช้วิธีการตั้งชื่อเหมือนกับตัวแปร) • parameterคือ อินพุตที่ส่งเข้าไปในฟังก์ชัน ซึ่งอาจจะมีหรือไม่มีก็ได้ • return คือ เอาท์พุตที่ถูกส่งออกมาจากฟังก์ชัน ซึ่งอาจจะมีหรือไม่มีก็ได้