59
สสสสส สสสสสสสสส สสสสสสสสสสสสสสส สสสสสสสสสสสสสสสสสสสสสสส สสสสสสสส 1 HP เเเเเเเเ Personal Home Page

สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

  • Upload
    neila

  • View
    42

  • Download
    0

Embed Size (px)

DESCRIPTION

PHP. Hypertext Preprocessor. สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ. เดิม PHP ย่อมาจาก Personal Home Page. ลักษณะของเว็บเพจ. แบบ Static ไม่มีการเปลี่ยนแปลงจนกว่าจะมีการ Upload ไฟล์ใหม่ มีการปรับปรุงเว็บยาก เช่น HTML - PowerPoint PPT Presentation

Citation preview

Page 1: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

สั�ญญา เครือหงษ์�ภาควิ�ชาวิ�ทยาการืคอมพิ�วิเตอรื�และ

เทคโนโลย�สัารืสันเทศ

1เดิ�ม PHP ย่�อมาจาก Personal Home Page

Page 2: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

ลั กษณะของเว็�บเพจลั กษณะของเว็�บเพจ แบบ Static ไม"ม�การืเปล�$ยนแปลงจนกวิ"าจะม�การื Upload

ไฟล�ใหม" ม�การืปรื�บปรื(งเวิ)บยาก เช"น HTML

แบบ Dynamic เพิ$อให*ม�การืตอบสันองต"อผู้,*ใช*ได้*ท�นท� CGI (Common Gateway Interface) Perl DHTML การืแทรืก Script ลงใน HTML ASP PHP JSP ฯลฯ

2

Page 3: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

Web Server

• การืท/างานของ เวิ)บเพิจ– Client/Server

• Server ของเวิ)บเพิจ เรื�ยกวิ"า Web Server– IIS (Internet Information Services)– PWS (Personal Web Server) – Apache

• Browser– Internet Explorer– Netscape

3

Page 4: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

ลั กษณะการทำ�างานของ Internet

4

Web ServerWeb Server

ClientClient

RequestRequest

ResponseResponse

Page 5: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

Static Web PagesStatic Web Pages

• เป1นเวิ)บเพิจท�$พิ�ฒนาในรืะยะแรืกๆ• ม�การืตอบสันองต"อผู้,*ใช*ท�$จ/าก�ด้ เน$องจากม�การื

ก/าหนด้รื,ปแบบการืกรืะท/าต"างๆไวิ*ล"วิงหน*า• รื,ปแบบของ Page จ4งเป1นล�กษ์ณะเด้�มอย,"เสัมอ

5

Page 6: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

6

Web ServerWeb Server

ClientClient

2. Client request Webpage

1. Author Writes HTML

3. Web server locates .html file

4. HTML stream (from .htm page)Returned to browser

5. Browser Processes HTMLAnd displays Pages

Page 7: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

Dynamic Web Pages

• ม�โครืงสัรื*างเหมอนก�บ Static Web Pages• แต"ม�ช(ด้ค/าสั�$ง Script ท�$ท/าให* HTML tag สัามารืถสันองต"อ

การืกรืะท/าต"างๆ ได้* และสัามารืถก/าหนด้การืท/างานได้* เช"น– สั�$งให*ค/านวิณหล�งคล�กป(7ม– น/าข*อม,ลจากฐานข*อม,ลข49นมาแสัด้งได้*– การืท/าให*ภาพิเคล$อนไหวิบน Page ได้*

7

Page 8: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

Script

เวิ)บเพิจท�$ก/าหนด้การืกรืะท/าต"างๆเพิ$อสัามารืถรืองรื�บสัถานการืณ� ท�$ควิามวิ"าจะเก�ด้ข49นได้*ท�นท�

• Client-Side Script– จะถ,กแปล Script โด้ย Browser เช"น VBScript, JavaScript

• Server-Side Script– จะถ,กแปลและปรืะมวิลผู้ลโด้ย Web Server เช"น ASP , PHP ,JSP

8

Page 9: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

Client-Side Script

9

Web ServerWeb Server

ClientClient1. Client Request Webpage

2. Web Server lacate .htm File

3. HTML stream (from .htm page)Returned to browser

5. Browser Processes HTMLAnd displays Pages

4. Browser Process Client-side script

Page 10: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

Server-Side Script

10

Web ServerWeb Server

ClientClient1. Client Request Webpage

2. Web server Instruction File3. Web server processes instruction to create HTML

5. Browser Processes HTMLAnd displays Pages

4. HTML Stream returned to Browser

Page 11: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

Scripting Language

• PHP เป1นภาษ์าจ/าพิวิก scripting language ค/าสั�$งต"างๆจะเก)บอย,"ในไฟล�ท�$เรื�ยกวิ"า สัครื�ปต� (script ) และเวิลาใช*งานต*องอาศ�ยต�วิแปลช(ด้ค/าสั�$ง ต�วิอย"างของภาษ์าสัครื�ปก)เช"น JavaScript, Perl เป1นต*น

• ล�กษ์ณะของ PHP ท�$แตกต"างจากภาษ์าสัครื�ปต�แบบอ$นๆ คอ PHP ได้*รื�บการืพิ�ฒนาและออกแบบมา เพิ$อใช*งานในการืสัรื*างเอกสัารืแบบ HTML โด้ยสัามารืถสัอด้แทรืกหรือแก*ไขเน9อหาได้*โด้ยอ�ตโนม�ต� ด้�งน�9นจ4งกล"าวิวิ"า PHP เป1นภาษ์าท�$เรื�ยกวิ"า server-side หรือ HTML-embedded scripting language เป1นเครื$องมอท�$สั/าค�ญชน�ด้หน4$งท�$ช"วิยให*เรืาสัามารืถสัรื*างเอกสัารืแบบ Dynamic HTML ได้*อย"างม�ปรืะสั�ทธิ�ภาพิและม�ล,กเล"นมากข49น

11

Page 12: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

ลั กษณะเดิ�นของ PHP • ใช*ได้*ฟรื�• PHP เป1นโปรื แกรืมวิ�$งข*าง Sever ด้�งน�9นข�ด้ควิามสัามารืถไม"

จ/าก�ด้• Conlatfun-น�$นคอPHP วิ�$งบนเครื$อง UNIX,Linux,Windows ได้*

หม• เรื�ยนรื, *ง"าย เนองจาก PHP ฝั่<$ งเข*าไปใน HTML และใช*โครืงสัรื*าง

และไวิยากรืณ�ภาษ์าง"ายๆ• เรื)วิและม�ปรืะสั�ทธิ�ภาพิ โด้ยเฉพิาะเมอใช*ก�บ Apach Xerve เพิรืาะ

ไม"ต*องใช*โปรืแกรืมจากภายนอก• ใช*รื"วิมก�บ XML ได้*ท�นท�• ใช*ก�บรืะบบแฟ>มข*อม,ลได้*• ใช*ก�บข*อม,ลต�วิอ�กษ์รืได้*อย"างม�ปรืะสั�ทธิ�ภาพิ

ใช*ก�บโครืงสัรื*างข*อม,ลใช*ได้*แบบ Scalar,Array,Associative array• ใช*ก�บการืปรืะมวิลผู้ลภาพิได้*

12

Page 13: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

ติ�ดิติ �ง PHP โดิย่ใช้ Apache จ�าลัองเป็"น Web Server

• สั/าหรื�บการืต�ด้ต�9ง Apache ผู้มจะแนะน/าโปรืแกรืม Appserv ซึ่4$งเป1น โปรืแกรืมท�$รืวิมเอา package

• Appserv คอ โปรืแกรืมท�$รืวิมเอา Package ปรืะกอบด้*วิย– Apache Web Server – PHP Script Language – MySQL Database – phpMyAdmin Database Manager

13

Page 14: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

ข �นติอนการติ�ดิติ �ง Web Server ดิ ว็ย่ AppServ

14

Page 15: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

15

พิอรื�ตปกต�คอ 80 อาจใช*พิอรื�ตอ$นได้*เช"น 8080

กรื(ณาจ/า password ให*ได้* เพิรืาะต*องใช*ใน phpMyadmin โด้ย User คอ root

Page 16: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

16

Page 17: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

การเซ็�ติ EditPlus ให้ เช้%&อมติ�อก บ WebServer

• เป@ด้โปรืแกรืม Edit Plus แล*วิเข*าไปท�$เมน, ToolsPreferences

• จากน�9นไปกด้ท�$ Tools – กด้ Add เพิ$อเพิ�$มรืายการื– กด้ Edit เพิ$อแก*ไขรืายการืเด้�ม (ซึ่4$งปกต�ม�นจะอ"านท�$อย,"บนสั(ด้เสัมอ)– จากน�9นก/าหนด้ช$อ Host หรือ IP– แล*วิก/าหนด้ Folder ท�$จะท/างาน– จากน�9นกล�บท�$หน*าจอหล�ก

17

แล*วิลองเข�ยนโปรืแกรืม PHP แล*วิกด้ Ctrl+B เพิ$อทด้สัอบ

Page 18: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

Run ด้�งน�9 http://localhost

18

Page 19: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

ใช้ โป็แกรม Notepad ห้ร%อ editor สร างเอกสาร PHP โดิย่ม)คำ�าส &งดิ งน)�

19

<html><title>ทด้สัอบ Script แรืก</title><body><?Php echo "ผู้มสัามารืถเข�ยน PHP ได้*แล*วิครื�บ";?></body></html>

Sample.php

ให้ บ นทำ+กไฟลั.ลังทำ)&โฟลัเดิอร.C:\AppServ\www

Page 20: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

คำ�าอธิ�บาย่ห้ร%อ Comment ในภาษา PHP

• ถ*าเรืาต*องการืเข�ยนค/าอธิ�บายในสั"วินใด้ๆก)ตามของสัครื�ปต�

• เรืาก)จะสัามารืถท/าได้*โด้ยใช* /* ... */ เหมอนในภาษ์าซึ่� • หรือ // เหมอนในภาษ์าจาวิา หรือ # เหมอน shell script

โปรืด้สั�งเกตวิ"า // ใช*เข�ยนน/าค/าอธิ�บายในภายบรืรืท�ด้หน4$งๆเท"าน�9น สั"วิน # ใช*เรื�$มต*นของบรืรืท�ด้ท�$เข�ยนค/าอธิ�บาย

20

<? # comment 41$a = ; // set $a to

41. 10 10$b = ; // set $b to .

*$b += $a; / add $a to $b *

echo $b," \n"; ?>

<? # comment

sss ss ss = 4 1 ; // 41

10 10$b = ; // set $b to .

*$b += $a; / add $a to $b *

ssss ssss ssss ?>

Page 21: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

คำ�าส &งพ%�นฐาน คำ�าส &ง Echo

• ร2ป็แบบคำ�าส &งEcho ข*อควิามท�$1,ข*อควิามท�$1,ข*อควิามท�$1,....;

21

<?echo"Hello Word <br>";echo"Hello PHP Programming";?>

<?echo"Hello Word <br>";echo"Hello PHP Programming";?>

Sample1.php

ติ ว็อย่�าง

Page 22: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

คำ�าส &ง Printf

• ร2ป็แบบคำ�าส &ง Printf(String format,…);ค/าสั�$ง Printf จะท/างานเหมอนก�บค/าสั�$ง echo และ print เพิ$อสั"งข*อม,ลไปแสัด้งท�$ Brownser แต"ค/าสั�$ง Printf น�9นสัามารืถท�$จะก/าหนด้รื,ปแบบการืแสัด้งข*อม,ลได้*ด้*วิย เหมอนก�บภาษ์า C

22

<?$name="Werachai Nukitram";$old=21;$salary=3900.45;$key=165;printf("ช$อ %s ",$name);printf("<br>อาย( %d ",$old);printf("<br>เง�นเด้อน %.2f ",$salary);printf("<br>Character ของ key คอ %c ",$key);?>

<?$name="Werachai Nukitram";$old=21;$salary=3900.45;$key=165;printf("ช$อ %s ",$name);printf("<br>อาย( %d ",$old);printf("<br>เง�นเด้อน %.2f ",$salary);printf("<br>Character ของ key คอ %c ",$key);?>

Sample3.php

Page 23: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

ส ญลั กษณ.ในฟ4งก.ช้ &น printf();

23

%d  เลัขฐานส�บ%b  เลัขฐานสอง%c รห้ ส ASCII

%f  ทำศน�ย่ม%o  เลัขฐานแป็ดิ%s  ติ ว็อ กษร String

%x , %X  เลัขฐานส�บ

%d  เลัขฐานส�บ%b  เลัขฐานสอง%c รห้ ส ASCII

%f  ทำศน�ย่ม%o  เลัขฐานแป็ดิ%s  ติ ว็อ กษร String

%x , %X  เลัขฐานส�บ

Page 24: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

คำ�าส &ง Flush• โด้ยปกต�ค/าสั�$งท�$ใช*ในการืสั"งข*อม,ลไปย�ง Browser น�9นจะ

ต*องม�การืเก)บข*อม,ลไวิ*ในหน"วิยควิามจ/าในสั"วินท�$เรื�ยกวิ"า Buffer ก"อน และสั"งข*อม,ลไปก)ต"อเม$อ ข*อม,ลท�$อย,"ใน Buffer น�9นเต)ม Flushน�9นจะ ท/าให*ข*อม,ลท�$อย,"ใน Buffer ถ,กสั"งไปแสัด้งท�$ Browser โด้ยท�นท� โด้ยไม"ต*องรือให*ข*อม,ลใน Buffer น�9นเต)ม

24

ร2ป็แบบของคำ�าส &ง Flush(); <? Echo"สั"งข*อควิามไปให* Browser"; Flush(); ?>

บางค/าสั�$งอาจจะใช*แทนก�นได้*ครื�บ เช"น print ก�บ Echo

Page 25: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

ชน�ด้ของข*อม,ลและต�วิแปรื• สั/าหรื�บการืเข�ยนโปรืแกรืมสั/าหรื�บภาษ์าคอมพิ�วิเตอรื�รืะด้�บ

สั,ง สั�$งท�$จะขาด้เสั�ยม�ได้*คอ การืก/าหนด้และใช*ต�วิแปรื (variable) ต�วิแปรืในภาษ์า PHP จะเหมอนก�บในภาษ์า Perl คอเรื�$มต*นด้*วิยเครื$องหมาย dollar ($) โด้ยเรืาไม"จ/าเป1นต*องก/าหนด้แบบของข*อม,ล (data type) อย"างเจาะจงเหมอนในภาษ์าซึ่� เพิรืาะวิ"า ต�วิแปลภาษ์าจะจ/าแนกเองโด้ยอ�ตโนม�ต�วิ"า ต�วิแปรืด้�งกล"าวิ ใช*ข*อม,ลแบบใด้ ในช"วิงเวิลาน�9นๆ เช"น ข*อควิาม จ/านวินเต)ม จ/านวินท�$ม�เลขจ(ด้ทศน�ยม ตรืรืก เป1นต*น

25

Page 26: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

• Integer จ/านวินเต)มบวิก และจ/านวินเต)มลบ เลขฐานสั�บ ฐานแปด้ และฐานสั�บหก

• Float เก)บจ/านวินจรื�งท�9งบวิกและลบ ท�9งม�ทศน�ยม และไม"ม�ทศน�ยม

• String เก)บจ/านวินต�วิเลข และ ข*อควิาม• Array เ ก)บข*อม,ลทเป1นช(ด้ หรือ อารื�เรืย�• Object เก)บข*อม,ลในล�กษ์ณะออปเจ)กต�เพิ$อการืเรื�ยก

ใช*เป1น • Class Object หรือ Function Type juggling เก)บ

ข*อม,ลในล�กษ์ณะเฉพิรืาะหรือผู้,*ท�$ใช*เพิ�$มเข*ามา26

Page 27: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

หล�กการืต�9งช$อ ต�วิแปรื• $var-name=value;• ขอบเขติการติ �งช้%&อติ ว็แป็ร

- ข49นต*นด้*วิยเครื$งหมาย $ แล*วิตามด้*วิยต�วิอ�กษ์รื A-Z,a-z- ม�ควิามยาวิไม"เก�น 255 ต�วิอ�กษ์รื- ห*ามม�จ(ด้ทศน�ยม หรือช"องวิ"าง- จะต*องไม"ตรืงก�บค/าสังวิน และควิรืต�9งช$อ ให*ม�ควิามหมายใกล*เค�ยงก�บ ค"าท�$เก)บ- ต�วิอ�กษ์รืเล)กหรือใหญ"จะเป1นต�วิแปรืต"างก�น- ถ*าต�9งต�วิแปรืมาใหม" แล*วิท�บต�วิแปรืเก"า ค"าของต�วิแปรืเก"าจะหายไป

27

Page 28: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

การป็ระกาศคำ�าติ ว็แป็ร• 1.Integer เก)บจ/านวินเต)มบวิก และจ/านวินเต)ม

ลบ เลขฐานสั�บ ฐานแปด้ และฐานสั�บหก123$a= ;-123$a= ;

28

Sample1.php<?123$a= ;456$b= ;

$c=$a+$b;echo"$c";?>

Sample1.php<?123$a= ;

=4 5 6 ;=+ ;"" ;?>

Page 29: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

• 2 . Float เก)บจ/านวินจรื�งท�9งบวิกและลบ ท�9งม�ทศน�ยม และไม"ม�ทศน�ยม

$a=1.23;$a=-1.23;

29

2Sample .php<? 12345$a= . ; 45678$b= . ; *$c=$a $b; 2printf("%. f ",$c);?>

2Sample .php<? 12345$a= . ; =4 5 6 .7 8 ; =* ; ("%.2 " ,);?>

Page 30: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

• 3.String เก)บจ/านวินต�วิเลข และ ข*อควิาม• $a="PHP Programming";

$a="1234567890";

30

Sample3.php<?$a="PHP Programming";$b="1234567890"; echo"$a <br> $b";?>

Sample3.php<?$a="PHP Programming";$b="1234567890"; echo"$a <br> $b";?>

Page 31: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

• สั�ญล�กษ์ณ� \n หมายถ4งการืข49นบรืรืท�ด้ใหม" เป1น escape character ต�วิหน4$ง (สั/าหรื�บต�วิอ$นๆ โปรืด้ด้,ในตารืาง) เม$อพิ�มพิ�ข*อควิามเป1นเอาพิ(ต และโปรืด้สั�งเกตวิ"า สั/าหรื�บการืใช*งานภายในเอกสัารื HTML การืข49นบรืรืท�ด้ใหม"โด้ยใช* \n จะแตกต"างจากการืข49นบรืรืท�ด้โด้ยใช* <BR> ใน HTML

31

Page 32: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

ต�วิแปรื Array •

32

[0 ]="" ;1$a[ ]="Werachai";2$a[ ]="Surachai";3$a[ ]="Adisorn";

Page 33: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

33

<? unset($a); $a = array( "a" => 10, "b" => 20, "c" => 30 ); while (list($key,$value) = each($a)) { echo "$key=$value <BR>\n"; } ?>

Sample

Out Put

a=1 0b=20 c=3 0

Page 34: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

– Arrary 2 ม�ติ�

• การป็ระกาศติ ว็แป็ร$a[2][2]จะม�สัามช�ก 8 ต�วิ คอ $a[0][0],$a[0][1],$a[0]

[2],$a[1][0],$a[2][0],$a[1][1],$a[1][2],$a[2][2],

34

$a[0s[0]="Somchai" ;$a[0s[1]="Werachai" ;$a[1s[2]="Surachai" ;

Page 35: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

– Array 3 ม�ติ�

35

$a[0][0][0]="Somchai" ;$a[0][1][2]="Werachai" ;$a[1][2][3]="Surachai" ;

<?$a[0]="Somchai";$a[1]="Werachai";$a[2]="Surachai";$a[3]="Adisorn";$b[0]=20;$b[1]=21;$b[2]=22;$b[3]=23;for($i=0;$i<=3;$i++){echo"name : $a[$i] Old $b[$i] <br>";}?>

Sample

Out Put

Page 36: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

การติรว็จสอบว็�าติ ว็แป็ร

36

การติรว็จสอบช้น�ดิของติ ว็แป็ร

gettype -($var name);ติ ว็อย่�างเช้�น

<?$a=1 2 3 4 ;

echo gettype($a);?>

การติรว็จสอบว็�าติ ว็แป็รน)�ม)การก�าห้นดิคำ�าห้ร%อไม�

isset -($var name);ติ ว็อย่�างเช้�น

<? $a=1234; if (isset($a)){ echo"ม)การก�าห้นดิคำ�าติ ว็แป็ร"; }else{ echo“ไม�ม)การก�าห้นดิคำ�าติ ว็แป็ร"; }

?>

Page 37: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

การติรว็จสอบว็�าติ ว็แป็ร

37

การติรว็จสอบว็�าติ ว็แป็รน)�ม)คำ�าว็�างห้ร%อไม�

empty($var-name);

<? $a=1234;if (empty($a)){echo"ติ ว็แป็รม)คำ�าว็�าง"; }else{echo"ติ ว็แป็รม)คำ�าไม�ว็�าง ";}?>

Page 38: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

• คำ%อ คำ�าทำ)&ก�าห้นดิแลั ว็ สามารถเร)ย่กใช้ งานไดิ ทำ8ก ๆ คำร �ง ทำ)&เราป็ระกาศข+�นมา สามารถแบ�งออกไดิ เป็"น 2 ป็ระเภทำคำ%อ–1.คำ�าคำงทำ)& PHP ก�าห้นดิมาให้ เป็"นคำ�าทำ)&เรา

สามารถน�าไป็ใช้ งานไดิ ทำ นทำ)&E_ERROR แสัด้งข*อผู้�ด้พิลาด้ท�$ parse ตรืวิจหาไม"พิบE_WARNING แสัด้งเง$อนไขให*ทรืาบ และท/างานต"อไป

E_PARSE การื parse ท/าให*เก�ด้ข*อผู้�ด้พิลาด้ใน Program ท�$ไม"สัามารืถตรืวิจพิบ

E_NOTICE เม$อเก�ด้ควิามผู้�ด้พิลาด้ การืเอ)กซึ่�ค�ต�ย�งม�ต"อไป

_FILE_ แสัด้งช$อไฟล�ท�$ท/างานอย," เพิ$อตรืวิจสัอบหาข*อผู้�ด้พิลาด้

_LINE_ แสัด้งจ/านวินบรืรืท�ด้ของไฟล� เพิ$อตรืวิจสัอบหาข*อผู้�ด้พิลาด้

PHP_VERSION แสัด้ง V. ของ PHP ท�$ใช*งานอย,"PHP_OS แสัด้งรืะบบปฏิ�บ�ต�การืท�$ใช*เป1น Server

TRUE ตรืวิจสัอบค"าจรื�งFALSE ตรืวิจสัอบค"าเท)จ 38

Page 39: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

ค"าคงท�$ Constant (ต"อ)

–2.คำ�าคำงทำ)&ทำ)&ผู้2 ใช้ ก�าห้นดิข+�นเองเรืาสัามารืถก/าหนด้ค"าคงท�$ เหมอนก�บการืปรืะกาศต�วิแปรื

ร2ป็แบบ- Define(Constant name,Value)

เม%&อ -Constant name ช$อ ของค"าคงท�$ Value ค"าท�$จะก/าหนด้ให*

เช้�น DEFINE("name","Werachai Nukitram");

DEFINE("old","21");DEFINE("add","Surin");

39

Page 40: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

Operator และ การืเปรื�ยบเท�ยบทางคณ�ต ฯ

ใน PHP ม�โอเปอเรืเตอรื�ด้*วิยก�นท�9งหมด้ 7 ชน�ด้ด้*วิยก�นด้�งน�9 จะยกต�วิอย"างท�$จ/าเป1นท�$เรืาต*องน/าไปใช*เท"าน�9นครื�บ

1.Arithmetic Operators โอเปอเรืเตอรื�ทางคณ�ตศาสัตรื�2.String Operators โอเปอเรืเตอรื�เช�งข*อควิาม3.Assignment Operators โอเปอเรืเตอรื�ก/าหนด้ค"า

4.Bitwise Operators โอเปอเรืเตอรื�เปรื�ยบเท�ยบบ�ต

5.Logical Operators โอเปอเรืเตอรื�เช�งตรืรืกศาสัตรื�

6.Comparison Operators โอเปอเรืเตอรื�เช�งเปรื�ยบเท�ยบ

7.Operator Precedence โอเปอเรืเตอรื�เพิ�$ม-ลด้ค"า

40

Page 41: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

Operator และ การืเปรื�ยบเท�ยบทางคณ�ต ฯ (ต"อ)

• Arithmetic Operators โอเปอเรืเตอรื�ทางคณ�ตศาสัตรื�

ติ ว็อย่�าง คำว็ามห้มาย่ ผู้ลัลั พธิ.

$a + $b บวิก ผู้ลบวิกของ $a และ $b.

$a - $b ลบ ผู้ลล�พิธิ�จาก $b ลบออกจาก $a.

$a * $b ค,ณ ผู้ลค,ณของ $a และ $b.

$a / $b หารื ผู้ลหารืของ $a และ $b.

$a % $b หารืเอาเศษ์ เศษ์จากการืหารืของ $a หารืโด้ย $b.

41

Page 42: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

Operator และ การืเปรื�ยบเท�ยบทางคณ�ต ฯ (ต"อ)

• String Operators เป1น โอเปอเรืเตอรื�ท�$ใช*ก�บข*อควิามซึ่4$งจะใช* (.) เพิ�ยง โอเปอเรืเตอรื�เด้�ยวิ

ติ ว็อย่�าง

42

Out PutPHPProgramming

<?$a s sPHP" ;$b s sProgramming" ;$c s $a.$b;echo"$c" ;?>

Page 43: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

Operator และ การืเปรื�ยบเท�ยบทางคณ�ต ฯ (ต"อ)

•Assignment Operators โอเปอเรืเตอรื�ก/าหนด้ค"าโอเปอเรืเตอรื�พิ9นฐานคอ "=" คอค(ณจะต*องค�ด้วิ"าค"าทางซึ่*ายมอของโอเปอเรืเตอรื�คอผู้ลล�พิธิ�จากค/าสั�$งท�$กรืะท/าทางขวิามอ

$a = 3; $a += 5; // $a = 8, ม�ควิามหมายวิ"า $a = $a + 5; $b = "Hello ";$b .= "There!"; // $b = "Hello There!",เหมอนก�บ $b = $b . "There!";

43

Page 44: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

เคำร%&องห้มาย่ คำว็ามห้มาย่ ร2ป็แบบ ผู้ลัลั พธิถ าก�าห้นดิให้ $a=2

s ก/าหนด้ค"า $a=1 1

+= เพิ�$มค"า $a += 1 3

-s ลบค"า $a -s 1 1

* ค,ณค"า $a * 1 2

/= หารืค"า $a /= 1 2

44

Assignment Operators(ติ�อ)

Page 45: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

Operator และ การืเปรื�ยบเท�ยบทางคณ�ต ฯ (ต"อ)

• Logical Operators โอเปอเรืเตอรื�เช�งตรืรืกศาสัตรื�

ติ ว็อย่�าง คำว็ามห้มาย่ ผู้ลัลั พธิ.

$a and $b And จรื�งก)ต"อเม$อ $a และ $b เป1นจรื�ง

$a or $b Or จรื�งถ*า $a หรือ $b ต�วิใด้ต�วิหน4$งเป1จรื�ง

$a xor $b Or จรื�งถ*า $a หรือ $b ต�วิใด้ต�วิหน4$งเป1นจรื�ง, แต"จะไม"จรื�งถ*าท�9งสัองไม"จรื�ง.

! $a Not จรื�งถ*า $a ไม"จรื�ง

$a && $b And จรื�งท�9ง $a และ $b เป1นจรื�ง

$a || $b Or จรื�งถ*า $a หรือ $b ต�วิใด้ต�วิหน4$งเป1จรื�ง

45

Page 46: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

Operator และ การืเปรื�ยบเท�ยบทางคณ�ต ฯ (ต"อ)

• Comparison Operators โอเปอเรืเตอรื�เช�งเปรื�ยบเท�ยบ

ติ ว็อย่�าง คำว็ามห้มาย่ ผู้ลัลั พธิ. $a ss $b เท"าก�บ จรื�งถ*า $a ม�ค"าเท"าก�บ $b.

$a ss $b ไม"เท"าก�บ จรื�งถ*า $a ม�ค"าไม"เท"าก�บ $b.

$a < $b น*อยกวิ"า จรื�งถ*า $a ม�ค"าน*อยกวิ"า$b.

$a > $b มากกวิ"า จรื�งถ*า $a ม�ค"ามากกวิ"า $b.

$a <s $b น*อยกวิ"าหรือเท"าก�บ จรื�งถ*า $a ม�ค"าน*อยกวิ"าหรือเท"าก�บ $b.

$a >s $b มากกวิ"าหรือเท"าก�บ จรื�งถ*า $a ม�ค"ามากกวิ"าหรือเท"าก�บ $b.

46

Page 47: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

เง$อนไขสัายงานเพิ$อการืต�ด้สั�นใจ 1. If...else สามารถใช้ ไดิ 2 ว็�ธิคำ%อ

47

Sample1.php<?$a s 1;if ( $as s1) { echo"s=1 OK" ; }?>

<? if ($x == 0) { echo $x; echo " is zero.<BR>\n"; } else if ($x > 0) { echo $x; echo " is positive.<BR>\n"; } else { echo $x; echo " is negative.<BR>\n"; } ?>

Out Puta=1

Page 48: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

เง$อนไขสัายงานเพิ$อการืต�ด้สั�นใจ (ต"อ)

• 2.if..elseif..esle

48

<?$a = 4;if ($a==1){ echo" a = 1 OK ";} elseif ($a==2){ echo" a = 2 OK";} elseif ($a==3){ echo" a = 3 OK ";}else{ echo" a Not OK ";}?>

Out Puta Not OK

Page 49: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

เง$อนไขสัายงานเพิ$อการืต�ด้สั�นใจ (ต"อ)

• 3.Switch Case

49

<?$a = 3;Switch ($a){case 1 : echo "a = 1 OK";break;case 2 : echo "a = 2 OK";break;case 3 : echo "a = 3 OK";break;case 4 : echo "a = 4 OK";break;default : echo " a Not OK"; } ?>

out Puta = 3 OK

Page 50: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

เง$อนไขสัายงานเพิ$อการืต�ด้สั�นใจ (ต"อ)

• 3.Breakค/าสั�$ง break และ continue ภายในล,ปอย"างท�$ใช*ก�นใน

ภาษ์าซึ่� ก)น/ามาใช*ก�บภาษ์า PHP ได้* ต�วิอย"างเช"น • 4.Continueเป1นค/าสั�$งกรืะโด้การืท/างานรือบใหม" คอ เม$อ

โปรืแกรืมเจอค/าสั�$งน�9จะกรืะโด้ด้ท/างานใหม"ท�นท�

50

Page 51: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

51

<? unset($a);

$a[]=1 ; $a[]=2 ; $a[]=3 ;

$a[]="red"; $a[]="green";

$a[]="blue"; $a[]="none";

$i=0 ; $found="not found";

for ($i=0 ; $i < count($a); $i++) { ss s sssssssssssssss s s ss ssss sss sssssss ssss ss

ts continue;

} if ($a[$i] == "blue") {

$found=$a[$i]; break;

} } echo $found,"<BR>\n";

?>

Sample5.php

Page 52: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

เง$อนไขสัายงานเพิ$อการืต�ด้สั�นใจ (ต"อ)

• 5.Require และ Includeค/าสั�$งท�9งสัองเอาไวิ*แทรืกเน9อหาจากไฟล�อ$นท�$ต*องการื ข*อแตกต"างรืะหวิ"าง include และ require อย,"ตรืงท�$วิ"า ในกรืณ�ของการืแทรืกไฟล�ใช*ช$อต"างๆก�นมากกวิ"าหน4$งครื�9งโด้ยใช*ล,ป ค/าสั�$ง require จะอ"านเพิ�ยงแค"ครื�9งเด้�ยวิ คอไฟล�แรืก และจะแทรืกไฟล�น�9เท"าน�9นไปตามจ/านวินครื�9งท�$วินล,ป ในขณะท�$ include สัามารืถอ"านได้*ไฟล�ต"างๆก�นตามจ/านวินครื�9งท�$ต*องการื

52

ไฟล� file2.inc Hello world 2 <BR>

ไฟล� file1.inc s ssss s s sss 1

<?1$filename[]="file .inc"

s 2$filename[]="file .inc"

s 0 2for ($i = ; $i < ; $i+

s s s include $filename[$i];

} ?>

Page 53: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

เง$อนไขสัายงานเพิ$อการืต�ด้สั�นใจ (ต"อ)

• 6.Redirectเป>นการืย*ายการืท/างานของ Page ป<จจ(บ�นเพิ$อไปไฟล�เป>าหมายheader('location:file.php');

• 7.orเง$อนไข ORข*อก/าหนด้เง$อนไข เหต(การืณ�เป1นจรื�งเหต(การืณ�ใด้เหต(การืณ�หน4$ง ก)คอพิบข*อม,ลต�วิแปรืต�วิใด้ต�วิหน4$ง โปรืแกรืมจ4งจะท/างาน

53

if (($name == "") || ($named == "")){

Page 54: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

เง$อนไขสัายงานเพิ$อการืต�ด้สั�นใจ (ต"อ)

• 9.And ข*อก/าหนด้เง$อนไข

เหต(การืณ�จะต*องเป1นจรื�งท�9งสัองเหต(การืณ� ก)คอพิบข*อม,ลต�วิแปรืท�9งสัอง โปรืแกรืมจ4งจะท/างาน

54

if (($name == "") && ($named == "")){

Page 55: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

ล,ปและการืท/าซึ่/9า • For

จะทำ�างานจนเง%&อนไขน �นเป็"นเทำ�จ ถ+งจะกระโดิดิออกจากลั2ป็

55

<?For ($a=1;$a<=5;$a++){ echo"<font size=$a> ข*อควิามใหญ"ข49น และจะหย(ด้ท/างานเม$อ a=5 <br> ";}?>

Page 56: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

ล,ปและการืท/าซึ่/9า(ต"อ)

• Whileจะพ�จารณาเง%&อนไขแลั ว็คำ�อย่ทำ�า ถ าเง%&อนไขเป็"นจร�งจะทำ�า ถ าเทำ�จ จะกระโดิดิออกจากลั2ป็ทำ นทำ)

Sample3.php

56

<?$a=1;while ($a<=5){echo"<font size=$a> ข อคำว็ามให้ญ�ข+�น แลัะจะห้ย่8ดิทำ�างานเม%&อ a=5 <br> ";$a++;}?>

Page 57: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

ล,ปและการืท/าซึ่/9า(ต"อ)

• Do..While ทำ�าก�อนแลั ว็คำ�อย่พ�จารณาเง%&อนไข ถ าเง%&อนไขเป็"นเทำ�จ จะกระโดิดิออกจากลั2ป็ทำ นทำ)

57

<?$a=1;do{ echo"<font size=$a> ข*อควิามใหญ"ข49น และจะหย(ด้ท/างานเม$อ a=5 <br> ";$a++;}while($a<=5)?>

Sample5.php

** ถ าใช้ do-while จะติ องม)การทำ�าคำ�าส &ง ภาย่ในลั2ป็ห้น+&งคำร �งเสมอ แม ว็�าเง%&อนไขโดิย่เร�&มติ นจะเป็"นเทำ�จก�ติาม ซ็+&งแติกติ�างจาก while-do ถ าเง%&อนไขเป็"นเทำ�จติ �งแติ�เร�&ม ก�จะไม�ม)การทำ�าคำ�าส &งทำ)&อย่2�ในลั2ป็ อ)กแบบห้น+&งส�าห้ร บการว็นลั2ป็คำ%อใช้ for-loop ทำ�าไดิ ติามติ ว็อย่�างติ�อไป็น)�

Page 58: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

ต�วิอย"างเพิ�$มเต�ม• การืเทคน�คการืแสัด้งรื,ปภาพิแทนต�วิเลข เทคน�คน�9

เรืาจะน/าไปท/าเป1น Counter แบบง"ายๆ

58

<?$count="10421825";$len=strlen($count); echo "Number : ";for($n=0;$n<$len;$n++){ $digit=substr($count,$n,1); echo "<IMG SRC=images/".$digit.".Gif BORDER=0 >";} ?>

Sample6.php

น/าไฟล�ต�วิเลข .gif ไปไวิ*ท�$โฟลเด้อรื� images

Page 59: สัญญา เครือหงษ์ ภาควิชาวิทยาการคอมพิวเตอร์และเทคโนโลยีสารสนเทศ

แบบฝึ<กห้ ดิ

ลั�าดิ บ

ช้%&อ-นามสก8ลั

1 สัมชาย บ(ญม�2 สัมศ�กด้�E งามแท*3 ด้วิงมณ� ม�ทอง4 สัายใจ สั(ขสัม

59

เข)ย่นโป็รแกรมเพ%&อแสดิงติารางราช้%&อจาก Array

Array ช$อ Member เก)บข*อม,ลช$อ-นามสัก(ล จากน�9นแสัด้งให*ได้*ผู้ลล�พิธิ�ด้�งภาพิด้*านล"าง

ใช* LOOP แล*วิด้4งข*อม,ลใน Array มาแสัด้ง...พิรื*อมสัล�บสั�แถวิด้*วิย