ภาษา php

25
อาจารย์สุธารัตน์ ชาวนาฟาง สาขาวิศวกรรมซอฟต์แวร์ มหาวิทยาลัยราชภัฏนครปฐม เอกสารนี ้ เป็นส่วนหนึ่งของรายวิชา Webpage Design and Programming Workshop

Transcript of ภาษา php

Page 1: ภาษา php

อาจารยสธารตน ชาวนาฟาง

สาขาวศวกรรมซอฟตแวร มหาวทยาลยราชภฏนครปฐม

เอกสารนเปนสวนหนงของรายวชา Webpage Design and Programming Workshop

Page 2: ภาษา php

Webpage Design and Programming Workshop

ภาษา PHP

• ยอมาจาก Hypertext Preprocessor

• สามารถเขยนแทรกอยภายในภาษา HTML

• ความสามารถของ PHP คอ database-enabled web page ท าใหเอกสารของ

ภาษา HTML สามารถทจะเชอมตอกบระบบฐานขอมล (database)

• ดงนนภาษา PHP เปนภาษาทเรยกวา server-side หรอ HTML-embedded s

cripting language เปนเครองมอทส าคญชนดหนงทชวยใหสามารถสราง

เอกสารแบบ Dynamic HTML ไดอยางมประสทธภาพและมลกเลนมากข น

Page 3: ภาษา php

Webpage Design and Programming Workshop

การท างานของภาษา PHP

• PHP เปนภาษาทมการประมวลผลทางเครองผใหบรการ (Server)

• โดยเปนเครองมอทท าใหสามารถสรางไฟลเอกสารประเภท HTML ทมการ

เคลอนไหวเปลยนแปลงไดหรอทเรยกวาพลวต (Dynamic HTML)

• การทเครองบรการมการประมวลผลกอนสงขอมลมายงเครองผใช เรยกวา

Server Side Include (SSI) ซงจะท างานในฝง server แลวสงการแสดงผล

มายง browser ของตว Client และนอกจากนยงเปน script ท embed บน

HTML อกดวย และการท างานในลกษณะนท าใหความเรวในการท างานสงขน

อกดวย

Page 4: ภาษา php

Webpage Design and Programming Workshop

การท างานของภาษา PHP

Page 5: ภาษา php

Webpage Design and Programming Workshop

ความสามารถของ PHP

• เปนภาษาทมลกษณะเปนแบบ Open source

• เปนสครปตแบบ Server Side Script ท างานบนเวบเซรฟเวอร และสงผลลพธ

ทไดจากการประมวลผลมาทเครองของผใชในรปแบบของ HTML

• สามารถท างานไดใน OS ทตางชนดกน

• สามารถท างานไดใน Web Server หลายชนด เชน Personal Web Server

(PWS), Apache, OmniHttpd และ IIS เปนตน

Page 6: ภาษา php

Webpage Design and Programming Workshop

ความสามารถของ PHP

• สนบสนนการเขยนโปรแกรมเชงวตถ (Object Oriented Programming)

• สามารถในการท างานรวมกบระบบจดการฐานขอมลทหลากหลาย เชน

Oracle, MySQL, FilePro, Solid, FrontBase, mySQL และ MS SQL เปนตน

• อนญาตใหผใชสรางเวบไซตซงท างานผานโปรโตคอลชนดตางๆ ได เชน

LDAP, IMAP, SNMP, POP3 และ HTTP เปนตน

• สามารถเขยน และอานในรปแบบของ XML ได

Page 7: ภาษา php

แบบ PHP tags เรยกวา

1 <? …. ค าสงภาษา PHP …..?> short style

2 <?php .….…. ค าสงภาษา PHP ….... ?> XML style

3 <script language="php">..…. ค าสง…...</script> JavaScript

style

4 <% ..…. ค าสงภาษา PHP …... %> ASP style

Webpage Design and Programming Workshop

รปแบบของค าสง

Page 8: ภาษา php

Webpage Design and Programming Workshop

รปแบบของค าสง

<html>

<head>

<title> My Homepage </title></head>

<body>

<h1> <?php echo "Hello World!"; ?> </h1>

</body>

</html>

Page 9: ภาษา php

Webpage Design and Programming Workshop

รปแบบของค าสง

<HTML>

<HEAD><TITLE> ฝกการเขยนภาษา PHP </TITLE></HEAD>

<BODY>

<H1>

<? echo "นคอการแสดงผลขอความในภาษา PHP <br></n>";

echo ("อกรปแบบหนงของการแสดงผลขอความในภาษา PHP ");

//echo เปนค าสงใหแสดงโปรแกรมแสดงผลทาง Browser

// เครองหมาย "//" เรยกวา comment

/* หรออกรปแบบหนงของ comment เครองหมาย </n> ท าใหภาษา PHP เปนการข นบรรทด

ใหม เครองหมาย <br> จะเปนค าสงใหการแปลผลของ Browser ขนบรรทดใหม */

?>

</H1>

</BODY> </HTML>

Page 10: ภาษา php

Webpage Design and Programming Workshop

ค าสงแสดงผล

ค าสงการแสดงผลออกทาง Browser ม 3 ตวคอ echo, print และ printf ดงน

1. ค าสง echo

• สามารถแยกขอความเปนหลายชวงในเครองหมาย “……...” โดยแตละชวง

สามารถใชเครองหมายจลภาค (,) คน

แบบท 1

echo "ขอความทตองการแสดง" ;

แบบท 2

echo ("ขอความทตองการแสดง") ;

<?

echo "Hello<br>";

echo ("sunday");

?>

Page 11: ภาษา php

Webpage Design and Programming Workshop

ค าสงแสดงผล

2. ค าสง print

• ใชในการสรางขอความใหกบ Text File หากตองการสราง Text File ดวย

Code ภาษา PHP ตองใช print() สวนการแสดงผลออกทางหนาเวบจะใช

echo() หรอ print() กไดไมแตกตางอะไร

แบบท 1

print"ขอความทตองการแสดง";

แบบท 2

print("ขอความทตองการแสดง");

<?php

print"Hello<br>" ;

print("sunday") ;

?>

Page 12: ภาษา php

Webpage Design and Programming Workshop

ค าสงแสดงผล

3. ค าสง printf

• เปนค าสงทใชในการแสดงผลออกทางหนาเวบ

• สรางขอความใหกบ Text file ไมวาจะเปนจ านวนเตม (int) , ทศนยม (flo

at) , ขอความ (string) หรออกขระ

• นอกจากนค าสงยงมความยดหยนสง โดยสามารถก าหนดหรอจดรปแบบ

การแสดงผลใหมระเบยบหรอเหมาะสมตามความตองการไดอกดวย

Page 13: ภาษา php

Webpage Design and Programming Workshop

ค าสงแสดงผล

3. ค าสง printf

printf($format,$value);

$format คอรปแบบหรอรหสแทนขอมล ดงน

%d = เลขฐานสบ

%o = เลขฐานแปด

%b = เลขฐานสอง

%c = รหส ASCII

%s = ขอความ

%x,%X = เลขฐานสบหก

%f = ทศนยม

$value คอตวแปร/นพจนทตองการแสดงขอมล

<?php

printf("100*2=%d",100*2);

echo "<br>";

printf("100*2=%.2f",100*2);

echo "<br>";

printf("100*2=%c",100*2);

echo "<br>";

printf("%s","Sutarat Chaonafang");

?>

Page 14: ภาษา php

Webpage Design and Programming Workshop

ฟงกชนทใชในการตรวจสอบเงอนไข

1. ค าสงตรวจสอบเงอนไขแบบทางเลอกเดยว (ค าสง if )

• ค าสงตรวจสอบเงอนไขแบบทางเลอกเดยว จะท าค าสงกตอเมอเงอนไขเปนจรง

if (เงอนไข) {

กจกรรมหรอค าสง เมอเงอนไขขางตนเปนจรง

}

$A = 2;

if ( $A == 2 ) {

echo "ตวแปรชอ A มคาเทากบ 2";

}

Page 15: ภาษา php

Webpage Design and Programming Workshop

ฟงกชนทใชในการตรวจสอบเงอนไข

2. ค าสงตรวจสอบเงอนไขแบบสองทางเลอก (ค าสง if...else)

• ค าสงตรวจสอบเงอนไขแบบทางเลอกเดยว จะท าค าสงกตอเมอ เงอนไขเปนจรง

และจะท าค าสงหลง else กตอเมอเงอนไขเปนเทจ

if (เงอนไข)

{

ค าสงเมอเงอนไขขางตนเปนจรง

}

else

{

ค าสงเมอเงอนไขขางตนเปนเทจ

}

$A = 2;

if ($A == 2)

{

echo "ตวแปรชอ A มคาเทากบ 2";

}

else

{

echo "ตวแปรชอ A มคาไมเทากบ 2";

}

Page 16: ภาษา php

Webpage Design and Programming Workshop

ฟงกชนทใชในการตรวจสอบเงอนไข

3. ค าสงตรวจสอบเงอนไขแบบสองทางเลอก (ค าสง if...else if ... )

• ค าสงตรวจสอบเงอนไขแบบทางเลอกเดยว จะท าค าสงกตอเมอ เงอนไขเปนจรง

และจะท าค าสงหลง else กตอเมอเงอนไขเปนเทจ

Page 17: ภาษา php

Webpage Design and Programming Workshop

ฟงกชนทใชในการตรวจสอบเงอนไข

if (เงอนไขท 1)

{

ค าสง เมอเงอนไขท 1 เปนจรง

}

elseif (เงอนไขท 2)

{

ค าสง เมอเงอนไขท 2 เปนจรง

}

else

{

ค าสง เมอเงอนไขท 1 และ 2 เปนเทจ

}

$A = 2;

if ( $A == 2 )

{

echo "ตวแปรชอ A มคาเทากบ 2";

}

elseif ($A==1)

{

echo "ตวแปรชอ A มคาเทากบ 1";

}

else

{

echo"ตวแปรชอ A มคาไมเทากบ 1 และ 2";

}

Page 18: ภาษา php

Webpage Design and Programming Workshop

ฟงกชนทใชในการตรวจสอบเงอนไข

4. การตรวจสอบเงอนไขโดยใช switch

• เปนค าสงทใชส าหรบตรวจสอบเงอนไขเหมอนกบ if

swicth ( คาตวแปรทใชตรวจสอบ )

{

case (คาท 1 ):

ค าสงทจะท าเมอเงอนไขตรงกบคาท 1

break;

case (คาท 2 ):

ค าสงทจะท าเมอเงอนไขตรงกบคาท 1

break;

default:

ค าสงทจะท าเมอเงอนไขไมตรงกบคาใด ๆ เลย

}

Page 19: ภาษา php

Webpage Design and Programming Workshop

ฟงกชนทใชในการตรวจสอบเงอนไข

$A = "ณ เชยงใหม";

swicth ( $A )

{

case ( "วชรพงษ" ):

echo "ชอ";

break;

case ( "ณ เชยงใหม" ):

echo "นามสกล";

break;

default:

echo "อะไรกไมร";

}

4. การตรวจสอบเงอนไขโดยใช switch

Page 20: ภาษา php

Webpage Design and Programming Workshop

การสงขอมลเพอการประมวลผล

• สงทส าคญส าหรบการเขยนโปรแกรมในเครอขายอนเทอรเนต คอการสง

ขอมลจากเครองผใชโดยทวไป เพอเหตผลตาง ๆ ซงท าใหขอมลตางๆของ

เวบไซต มปฏสมพนธกบผใช ดงนนการ submit ฟอรมเพอสงขอมลไปยง

ไฟลโปรแกรม PHP การเกบขอมลของผใชของเครองใหบรการ หรอการ

กลนกรองขอมลเพอสงออกแสดงผลยงเครองผใช การสงคาผานทางเวบ

เพจ ใน HTML จะมการการสงคาได 2 รปแบบ นนคอ

Page 21: ภาษา php

Webpage Design and Programming Workshop

การสงขอมลเพอการประมวลผล

1. Post

• เมอ submit ฟอรมดวย method=post ขอมลทอยภายใน Form จะถกสงไป

เกบไวในตวแปรตวหนงใน Web Server ตวแปรนคอ CONTENT_LENGTH ซง

ในการ post น จะใชในกรณทขอมลมปรมาณมาก

2. Get

• แตถาใช method = Get คาทไดจากการ submit จะสงไปใหกบ PHP โดย

ผาน URL ไปเกบไวในตวแปร QUERY_STRING ของ Web Server ถาเปลยน

จาก method = Post เปน Get เมอ submit ใหสงเกตทชอง Address จะพบ

ขอมลทสงโดยมรหสตาง ๆ แทรกไปดวย ดงน

Page 22: ภาษา php

Webpage Design and Programming Workshop

การสงขอมลเพอการประมวลผล

• ? เครองหมาย ? จะกนระหวาง URL กบขอมล

• key = value ขอมลทถกสงมา

• & คนระหวาง key = value แตละอปกรณ (ถาม

key มากกวา 1)

• + แทนทชองวาง

Page 23: ภาษา php

Webpage Design and Programming Workshop

การสงขอมลเพอการประมวลผล

ขอแตกตางระหวาง Post และ Get

GET

• การสงขอมลแบบ GET = http://localhost/BSC442/welcome2.php?na

me=sunisa++phonphan&age=22&submit=Submit (โดยจะแสดงตวแปร

และคาตวแปรทสง)

• ขอดของ get คอ ไมตองสรางฟอรม กสามารถ

• ขอเสย คนอนสามารถเขาถงขอมลไดงาย

POST

• การสงขอมลแบบ POST = http://localhost/BSC442/welcome1.php

• ขอด มความปลอดภยมากกวา

Page 24: ภาษา php

Webpage Design and Programming Workshop

การตดตอกบฐานขอมล MySQL

mysql_connect(host,user,pass); ฟงกชนใชในการตดตอฐานขอมล

mysql_db_query(Db,SQL); ฟงกชนสงค าสงใหภาษา SQL

ประมวลผล

mysql_fetch_array($result); ฟงกชนอานขอมลหนงแถวใน

ตารางเขาเกบในตวแปร

mysql_close(); ฟงกชนยกเลกการตดตอฐานขอมล

Page 25: ภาษา php