Your SlideShare is downloading. ×
  • Like
Introduction to PHP programming
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Introduction to PHP programming

  • 2,330 views
Published

สไลด์ประกอบการบรรยายในหัวข้อ "Introduction to PHP programming" สำหรับบุคคลทั่วไปของศูนย์เทคโนโลยีอิเล็กทรอนิกส์และคอมพิวเตอร์แห่งชาติ ในหลักสูตร LAMP training

สไลด์ประกอบการบรรยายในหัวข้อ "Introduction to PHP programming" สำหรับบุคคลทั่วไปของศูนย์เทคโนโลยีอิเล็กทรอนิกส์และคอมพิวเตอร์แห่งชาติ ในหลักสูตร LAMP training

Published in Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
2,330
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
93
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Web-based Applications by Open Source Tools 1
  • 2. หัวขอการฝกอบรม • วันที่ 1: PHP Fundamentals • วันที่ 2: Linux System Administration • วันที่ 3: PHP & MySQL • วันที่ 4: Workshop 2
  • 3. PHP Fundamental: กําหนดการสอน 9.00 น. – 10.30 น. • ความรูเบืองตนเกียวกับ PHP (Introduction to PHP)  ้ ่ • ชนิดของขอมูลและตัวแปร (Data type and variable) • การปฏิบติการใน PHP (Program operator) ั 10.45 น. – 12.15 น. • การทํางานตามเงือนไข (Conditional statement) ่ • การควบคุมการทํางาน (Flow control) 3
  • 4. ความรูเบื้องตนเกี่ยวกับ PHP • ทําไมตองเขียนโปรแกรมบนเว็บ? • PHP คืออะไร? • ทําไมตอง PHP? • PHP จากอดีตถึงปจจุบัน • การประยุกตใช PHP บนอินเทอรเน็ต • การเตรียมตัวกอนเขียนโปรแกรม PHP • ขั้นตอนในการเขียนโปรแกรม PHP • โครงสรางของโปรแกรมภาษา PHP • เริ่มตนเขียน PHP 4
  • 5. ทําไมตองเขียนโปรแกรมบนเว็บ? • แนวโนมของการนําเสนอขอมูลบนอินเทอรเน็ตมี ลักษณะ Interactive คือ มีกจกรรมทีทําใหผูเขา ิ ่ ชมมีสวนรวมกับเว็บไซตมากขึ้น เชน Guestbook, Message board, Forms, ฯลฯ • แนวโนมของการนําเสนอขอมูลบนอินเทอรเน็ตมี ลักษณะ Dynamic คือ มีการปรับปรุงขอมูลให ทันสมัยอยูเสมอโดยอัตโนมัติ • รวดเร็วและประหยัด 5
  • 6. PHP คืออะไร? • PHP ยอมาจากคําวา PHP Hypertext Preprocessor (Professional Home Page) • PHP คือ ภาษาที่ใชในการเขียนโปรแกรมหรือใชในการ พัฒนา Applications เพื่อใชในระบบอินเทอรเน็ต • การทํางานของ PHP นั้นจะเปนการทํางานบนเครื่อง ใหบริการ (Server side) ที่ใชระบบปฏิบัติการ Windows หรือระบบปฏิบัติการ Unix • สามารถประยุกตใชงาน PHP ในงานประมวลผลที่มี ลักษณะที่หลากหลาย เชน งานที่เกี่ยวของกับการ คํานวณ งานที่เกี่ยวของกับการประมวลผลขอความ หรือ งานที่เกี่ยวของกับการบริหารจัดการและเขาถึงขอมูลใน ระบบฐานขอมูล 6
  • 7. ทําไมตอง PHP? • งายตอการเรียนรูเนื่องจาก PHP ไดรับการ พัฒนาตอมาจากภาษา C และภาษา Perl • มีประสิทธิภาพสูง (เพียงพอตอการพัฒนา Applications บนอินเทอรเน็ต) • มีแหลงขอมูลใหศึกษา และพันธมิตรทีจะให ่ คําปรึกษาเวลาที่เกิดปญหา รวมทังมีตัวอยาง ้ และสคริปตสําเร็จรูปใหใชฟรีจํานวนมาก • เปนเครื่องมือทีสะดวกและสามารถพัฒนา ่ Applications บนอินเทอรเน็ตไดอยางรวดเร็ว 7
  • 8. PHP จากอดีตถึงปจจุบัน (1) • ป ค.ศ. 1995 - นาย Rasmus Lerdorf ไดพัฒนา เครืองมือจากชุดคําสั่งในภาษา Perl สําหรับการ ่ ตรวจสอบผูชมทีเขาชมหนาประวัติโดยยอบนเว็บ ่ (online resume) บนเว็บและเผยแพรในชื่อ Personal Home Page tools 8 Data from Appendix A. History of PHP and related projects (http://th2.php.net/history)
  • 9. PHP จากอดีตถึงปจจุบัน (2) • ตอมามีการพัฒนา PHP ใหมโดยใชภาษา C และเพิ่ม ความสามารถในเรื่องของการติดตอกับระบบฐานขอมูล การใชตวแปรที่มลกษณะคลายกับในภาษา Perl (Perl- ั ี ั like variables) และความสามารถเกี่ยวกับเรือง ่ แบบฟอรม และเผยแพรในชื่อ PHP/FI (Personal Home Page / Forms Interpreter) 9 Data from Appendix A. History of PHP and related projects (http://th2.php.net/history)
  • 10. PHP จากอดีตถึงปจจุบัน (3) • พฤศจิกายน ค.ศ. 1997 - PHP/FI ไดรับการพัฒนา ตอและเผยแพรเปน PHP/FI 2.0 ซึ่งมีการประมาณการ วามีผูนําภาษานี้ไปใชหลายพันคนทั่วโลก และมีเว็บไซต ที่ใชภาษานี้ประมาณ 50,000 เว็บไซต 10 Data from Appendix A. History of PHP and related projects (http://th2.php.net/history)
  • 11. PHP จากอดีตถึงปจจุบัน (4) • มิถุนายน ค.ศ. 1998 - นาย Andi Gutmans และนาย Zeev Suraski ไดทําการพัฒนาตอโดยเพิ่มฟงกชนใหมาก ั่ ขึ้นเพื่อรองรับการพัฒนาระบบงาน e-Commerce รวมทั้ง รองรับการติดตอกับระบบฐานขอมูล และคุณสมบัติในเรื่อง ของการโปรแกรมเชิงวัตถุ (Object Oriented Programming, OOP) และเผยแพรเปน PHP 3.0 Data from Appendix A. History of PHP and related projects (http://th2.php.net/history) 11
  • 12. PHP จากอดีตถึงปจจุบัน (5) • พฤษภาคม ค.ศ. 2000 - PHP ไดรับการพัฒนาตอ เพื่อใหสามารถรองรับการพัฒนาโปรแกรมทีซับซอน ่ โดยรวมเอาเทคโนโลยีทเรียกวา “Zend Engine” ไว ี่ และพัฒนาความสามารถในการทํางานบนโปรแกรม Web server ที่หลากหลายชนิดมากขึ้น และเผยแพร เปน PHP version 4.0 Data from Appendix A. History of PHP and related projects (http://th2.php.net/history) 12
  • 13. PHP จากอดีตถึงปจจุบัน (6) • กรกฎาคม ค.ศ. 2004 ไดมีการรวมเอา Zend Engine version 2.0 เขาไวใน PHP และเผยแพรเปน PHP version 5.0 ในปจจุบนั Data from Appendix A. History of PHP and related projects (http://th2.php.net/history) 13
  • 14. PHP จากอดีตถึงปจจุบัน (7) PHP: 21,466,638 Domains, 1,293,874 IP Addresses Data from Netcraft (http://news.netcraft.com/) 14
  • 15. PHP จากอดีตถึงปจจุบัน (8) Apache Module Report (July 1st, 2005) Module Count % PHP 5,082,557 46.46 Perl 1,335,652 12.21 Tomcat 5,578 0.05 Data from Security Space (http://www.securityspace.com/s_survey/data/man.200506/apachemods.html/) 15
  • 16. การประยุกตใช PHP บนอินเทอรเน็ต (1) http://www.missingpersons.or.th/ 16
  • 17. การประยุกตใช PHP บนอินเทอรเน็ต (2) http://www.nectec.or.th/e-Card/ 17
  • 18. การประยุกตใช PHP บนอินเทอรเน็ต (3) http://www.truehits.net/ 18
  • 19. การประยุกตใช PHP บนอินเทอรเน็ต (4) http://www.nesac.or.th/ 19
  • 20. Web-based Application Architecture 20
  • 21. การเตรียมตัวกอนเขียนโปรแกรม PHP • ในการเขียนโปรแกรมดวย PHP จะตองเตรียม สวนประกอบดังตอไปนี้ คือ เครืองคอมพิวเตอรสาหรับการเขียนโปรแกรมที่มการ ่ ํ ี ติดตั้งโปรแกรมประมวลผลขอความ (Text editor) โปรแกรมสําหรับโอนยายขอมูลเขาสูเครื่องใหบริการ (FTP program) และโปรแกรมเว็บบราวเซอร (Web browser) เครืองคอมพิวเตอรใหบริการเว็บ (Web server) ที่ ่ สนับสนุนการเขียนโปรแกรมดวยภาษา php 21
  • 22. ขั้นตอนในการเขียนโปรแกรม PHP 22
  • 23. โครงสรางของโปรแกรมภาษา PHP (1) • การเขียนโปรแกรมภาษา PHP จะตองมี สวนประกอบดังตอไปนี้ 23
  • 24. โครงสรางของโปรแกรมภาษา PHP (2) • จุดเริ่มตนและสิ้นสุดของการเขียนโปรแกรมภาษา PHP สามารถใชสัญลักษณได 4 รูปแบบ คือ 1. SGML style*** <? ... ?> 2. XML style <?php ... ?> 3. JavaScript style <script language="php"> ... </script> 4. ASP style <% ... %> 24
  • 25. โครงสรางของโปรแกรมภาษา PHP (3) • ชุดคําสั่งในภาษา PHP ประกอบดวยคําสั่งยอยๆ ซึ่งแตละคําสั่งจะตองสิ้นสุดดวยเครื่องหมาย เซมิโคลอน (;) 25
  • 26. โครงสรางของโปรแกรมภาษา PHP (4) • การกําหนดสวนทีเปนคอมเมนต หรือสวนคําอธิบายที่ไม ่ ตองการใหเกิดการประมวลผลสามารถทําได 2 วิธี คือ 1. การกําหนดสวนคอมเมนตหลายๆ บรรทัดติดตอกัน /* คอมเมนตบรรทัดที่ 1 คอมเมนตบรรทัดที่ 2 . . คอมเมนตบรรทัดที่ N */ 2. การกําหนดสวนคอมเมนตบรรทัดเดียว ใชรูปแบบ // คอมเมนต หรือ #คอมเมนต 26
  • 27. เริ่มตนเขียน PHP (1) • เปดโปรแกรม Notepad โดยคลิกเมาสท่ปุม Start ๊ ี เลือก All Programs เลือก Accessories แลวเลือก รายการ Notepad • พิมพขอความตอไปนี้และบันทึกเปนไฟลชื่อ hello1.php <? echo “Hello World”; ?> • ใชโปรแกรม FTP ในการโอนยายไฟลเขาสู Server • ทดสอบการแสดงผลโดยใชโปรแกรม Web browser 27
  • 28. เริ่มตนเขียน PHP (2) • ใชโปรแกรม Notepad เพื่อแกไขไฟล hello1.php • พิมพขอความตอไปนี้และบันทึกในไฟล hello2.php <? echo “Hello World”; // This is my first PHP program ?> 28
  • 29. เริ่มตนเขียน PHP (3) • ใชโปรแกรม Notepad เพื่อแกไขไฟล hello2.php • พิมพขอความตอไปนี้และบันทึกในไฟล hello3.php <HTML> <HEAD> <title>Hello World</title> </HEAD> <BODY> <center><b> <? echo “Hello World”; ?> </b></center> </BODY> </HTML> 29
  • 30. เริ่มตนเขียน PHP (4) • ใชโปรแกรม Notepad เพื่อแกไขไฟล hello3.php • พิมพขอความตอไปนี้และบันทึกในไฟล hello4.php <HTML> <HEAD> <title>Hello World</title> </HEAD> <BODY> <center><b> <? echo “<font color=red>Hello World</font>”; ?> </b></center> </BODY> </HTML> 30
  • 31. เริ่มตนเขียน PHP (5) • ใชโปรแกรม Notepad เพื่อแกไขไฟล hello4.php • พิมพขอความตอไปนี้และบันทึกในไฟล hello5.php <HTML> <HEAD> <title>Hello World</title> </HEAD> <BODY> <center><b> <? echo “<font color=“#00FF00”>Hello World</font>”; ?> </b></center> </BODY> </HTML> 31
  • 32. ชนิดของขอมูลและตัวแปร • คาคงที่ • ตัวอยางการใชงานคาคงที่ • ตัวแปรใน PHP • ตัวอยางการใชงานตัวแปรใน PHP • ตัวแปรระบบ • ชนิดของขอมูลใน PHP 32
  • 33. คาคงที่ • คาคงที่ (Constant) คือ การกําหนดคาแทนตัวเลขหรือ ชุดของตัวอักษร ซึ่งการกําหนดคาคงที่จะใชรูปแบบ define(“ชื่อคาคงที่”, คาที่กําหนดให) • ตัวอยางเชน – define(“organization”, “NECTEC”); – define(“RED”, “#FF0000”); – define(“PI”, 3.14); – define(“NL”, “<br>n”); 33
  • 34. ตัวอยางการใชงานคาคงที่ <HTML> constant.php <HEAD> <title>Hello World</title> </HEAD> <BODY> <center><b> <? define(“organization”, “NECTEC”); echo “Organization:” . organization; ?> </b></center> </BODY> </HTML> 34
  • 35. ตัวแปรใน PHP • ตัวแปรใน PHP จะมีรูปแบบเปน $ชื่อตัวแปร • ตัวอักษรพิมพใหญหรือเล็กมีผลกับชื่อตัวแปร (Case-sensitive) เชน $Data ไมเทากับ $data • การตั้งชื่อตัวแปรจะตองขึ้นตนดวยตัวอักษร ภาษาอังกฤษหรือเครื่องหมาย Underscore (_) ตามดวยตัวเลข ตัวอักษร หรือ Underscore 35
  • 36. ตัวอยางการใชงานตัวแปรใน PHP <HTML> variable1.php <HEAD> <title>Hello World</title> </HEAD> <BODY> <center><b> <? $person = “Jon”; $Person = “Dang”; echo “Hello $person and $Person”; ?> </b></center> </BODY> </HTML> 36
  • 37. ตัวแปรระบบ • ในการเขียนโปรแกรม PHP นั้น เราสามารถ เรียกใชงานตัวแปรของระบบที่มอยูได ดังตัวอยาง ี <HTML> variable2.php <HEAD> <title>Hello World</title> </HEAD> <BODY> <center><b> <? echo “You are using $HTTP_USER_AGENT”; ?> </b></center> </BODY> </HTML> 37
  • 38. การรับคาจากแบบฟอรม • โดยทั่วไปแลว การเขียน โปรแกรมภาษา PHP ใช ใ น ก า ร รั บ ข อ มู ล จ า ก แบบฟอร ม ที่ ส ร า งขึ้ น มา ด ว ย ภ า ษ า HTML เ พื่ อ นํ า ม า ป ร ะ ม ว ล ผ ล แ ล ะ สงผลลัพธกลับไปสูผใช ู 38
  • 39. ขั้นตอนการรับคาจากแบบฟอรม 39
  • 40. สวนประกอบของการรับคาจากแบบฟอรม 1. แบบฟอรมสําหรับกรอกขอมูล (form.html) ทําหนาที่ในการรับขอมูลจากผูใชผานทาง โปรแกรมเว็บบราวเซอร 2. สคริปตรับคาและประมวลผล (getform.php) ทําหนาที่ในการรับขอมูลที่สงจากแบบฟอรม และนําขอมูลนั้นไปประมวลผลตามคําสั่งที่ กําหนดไว และสงผลลัพธกลับมาที่บราวเซอร ของผูใช 40
  • 41. ตัวอยางรับคาจากแบบฟอรม <HTML> form.html <HEAD> <title>FORM</title> </HEAD> <BODY> <form method="post" action="getform.php"> Name: <input type="text" name="myname"> <input type="submit" value="Send data"> </form> </BODY> <HTML> 41
  • 42. ตัวอยางรับคาจากแบบฟอรม <? getform.php $name = $_POST["myname"]; echo "Hello $name"; ?> 42
  • 43. ชนิดของขอมูลใน PHP • ชนิดของขอมูลในภาษา PHP แบงออกเปน 7 ประเภท ดังตอไปนี้ – ขอมูลชนิดตรรกะ – ขอมูลชนิดตัวเลข – ขอมูลชนิดตัวอักษร – ขอมูลชนิดอาเรย – ขอมูลชนิดออปเจกต – ขอมูลชนิด Null – ขอมูลชนิด Resource 43
  • 44. ชนิดของขอมูลใน PHP • ขอมูลชนิดตรรกะ (Boolean) คือ ชนิดของขอมูล ที่มีเปนคาเปนไปไดแค 2 คาเทานั้น คือ true (จริง) หรือ false (เท็จ) ซึ่งขอมูลชนิดนี้นยมใช ิ ในลักษณะของการกําหนดเงื่อนไขของการทํางาน ในโปรแกรม • ขอมูลชนิดตัวเลข (Numeric) คือ ชนิดของขอมูล ที่เปนตัวเลข สามารถนําไปคํานวณทาง คณิตศาสตรได ขอมูลชนิดนี้สามารถแบงไดเปน – ตัวเลขจํานวนเต็ม (Integer) เชน 5, 0, -20 – ตัวเลขจํานวนจริง (Floating Point & Real Number) เชน 2.5, -0.025, 1.0 44
  • 45. ชนิดของขอมูลใน PHP • ขอมูลชนิดตัวอักษร (String) คือ ชนิดของขอมูลที่ ประกอบดวยตัวเลข ตัวอักษร และอักขระพิเศษตางๆ ที่ไมสามารถนําไปคํานวณได ซึ่งการอางถึงขอมูล ชนิดตัวอักษรนี้จะตองอางถึงขอมูลภายใต เครื่องหมาย “…” • ขอมูลชนิดอาเรย (Array) เปนชนิดของขอมูลที่ สามารถเก็บคาไดหลายคา ซึ่งขอมูลชนิดนี้เปนที่ นิยมใชงานกันอยางแพรหลาย และมีใชในทุกภาษา เขียนโปรแกรม 45
  • 46. ชนิดของขอมูลใน PHP • ขอมูลชนิดออบเจ็ค (Object) ขอมูลชนิดนี้ใชในการ เขียนโปรแกรมเชิงวัตถุ (Object-oriented Programming, OOP) • ขอมูลชนิด NULL คือ ชนิดของขอมูลที่แทน ความหมายวาไมมคา ี • ขอมูลชนิด Resource คือ ชนิดของขอมูลที่ใชเก็บ คาอางอิงของทรัพยากรตางๆ ในระบบ ซึ่งจะมีการ เก็บคาโดยอัตโนมัติ 46
  • 47. การปฏิบัติการใน PHP Arithmetic Operators 47
  • 48. การปฏิบัติการใน PHP Assignment Operators 48
  • 49. การปฏิบัติการใน PHP Comparison Operators 49
  • 50. การปฏิบัติการใน PHP Logical Operators 50
  • 51. การทํางานตามเงื่อนไข • การใชงานประโยค if • ตัวอยางการใชงานประโยค if • การใชงานประโยค switch 51
  • 52. การใชงานประโยค if if (เงื่อนไข 1) { ชุดคําสั่ง 1 } elseif (เงื่อนไข 2) { ชุดคําสั่ง 2 } else { ชุดคําสั่ง 3 } 52
  • 53. ตัวอยางการใชงานประโยค if if ($i == 1) if.php { echo “i = 1”; } elseif ($i == 2) { echo “i = 2”; } else { echo “no match”; } 53
  • 54. การใชงานประโยค switch switch (ตัวแปร) { case คาตัวแปร 1: ชุดคําสั่ง 1 case คาตัวแปร 2: ชุดคําสั่ง 2 case คาตัวแปร 3: ชุดคําสั่ง 3 default: ชุดคําสั่ง 4 } 54
  • 55. ตัวอยางการใชงานประโยค switch switch ($i) switch.php { case 1: echo “i = 1”; break; case 2: echo “i = 2”; break; default: echo “no match”; break; } 55
  • 56. การควบคุมการทํางาน • การควบคุมการทํางานดวย while • การควบคุมการทํางานดวย do…while • การควบคุมการทํางานดวย for • การควบคุมการทํางานดวย foreach 56
  • 57. การควบคุมการทํางานดวย while While (เงือนไข) ่ { ชุดคําสั่ง } 57
  • 58. ตัวอยางการใชงานคําสั่ง while $i = 0; while.php while ($i < 10) { echo “i = “.$i.”<br>”; $i++; } 58
  • 59. การควบคุมการทํางานดวย do…while do { ชุดคําสั่ง } While (เงือนไข) ่ 59
  • 60. ตัวอยางการใชงานคําสั่ง do…while $i = 0; dowhile.php do { echo “i = “.$i.”<br>”; $i++; } while ($i < 10) 60
  • 61. การควบคุมการทํางานดวย for for (คาเริ่มตน, เงือนไข, การเพิมหรือลดขอมูล) ่ ่ { ชุดคําสั่ง } 61
  • 62. ตัวอยางการใชงานคําสั่ง for for.php for ($i=0; $i<10; $i++) { echo “i = “.$i.”<br>”; } 62
  • 63. การควบคุมการทํางานดวย foreach foreach (ตัวแปรชนิดอาเรย as ชื่อตัวแปร) { ชุดคําสั่ง } 63
  • 64. ตัวอยางการใชงานคําสั่ง foreach foreach.php $arr = array(“orange", “mango", “banana"); foreach ($arr as $fruit) { echo “Fruit name: " . $fruit . "<br>"; } 64
  • 65. สรุป (1) • PHP (PHP Hypertext Preprocessor หรือProfessional Home Page) คือ ภาษาที่ใชในการเขียนโปรแกรมหรือ พัฒนาระบบงานบนระบบอินเทอรเน็ต โดยมีการทํางาน ในลักษณะ Server side สามารถใชงานไดบนเครื่อง ใหบริการที่มระบบปฏิบติการ Windows หรือ Unix ี ั • เครืองมือที่ใชในการพัฒนาโปรแกรมภาษา PHP คือ ่ โปรแกรมแกไขขอความ, เว็บบราวเซอร, FTP/SFTP program, เครื่องใหบริการเว็บ • ขั้นตอนในการเขียนโปรแกรมภาษา PHP คือ เขียน โปรแกรมโดยใชโปรแกรมแกไขขอความ อัปโหลด เขาสูเครืองใหบริการ ่ ทดสอบและแกไข 65
  • 66. สรุป (2) • โครงสรางของการเขียนภาษา PHP <? ชุดคําสั่งในภาษา PHP; ?> • การเขียนคอมเมนตในภาษา PHP สามารถทําไดโดยใช <*…*>, //, # • ชนิดของขอมูลในภาษา PHP แบงออกเปน 7 ประเภท คือ ขอมูลชนิดตรรกะ, ขอมูลชนิดตัวเลข, ขอมูลชนิด ตัวอักษร, ขอมูลชนิดอาเรย, ขอมูลชนิดออปเจกต, ขอมูลชนิด Null, ขอมูลชนิด Resource 66
  • 67. สรุป (3) • ประโยคเงื่อนไขใน PHP – IF…ELSE… – CASE • ประโยคควบคุมการทํางาน – WHILE – DO…WHILE – FOR – FOREACH 67
  • 68. 68