โปรแกรม AppServ 2.5 - myweb.cmu.ac.thmyweb.cmu.ac.th/wijit.a/954242/week4/LAB4.pdf ·...

Preview:

Citation preview

วชา 954242 การพฒนาโปรแกรมเวบ ภาคการศกษาท� 2/2554 รหส.............................................ช�อ.......................................................................................Section………………

อ.กฤตวยาน ทองค และ อ.รฐพล วฒการณ

บทปฏบตการคร�งท� 4

เร�อง การทางานของ PHP

วตถประสงค 1. นกศกษาสามารถตดต <ง Web Server ดวยตนเองได 2. นกศกษาเขาใจการทางานของภาษา PHP 3. นกศกษาสามารถใชโปรแกรม Dreamweaver สรางไฟล HTML และ PHP เบ <องตนได

โปรแกรม AppServ 2.5.10

1. Apache 2.2.8

Apache คอ Project ท�ทาหนาท�เปน web server ท�มผ ใชท�วโลกมากกวา 60 % มหนาท�ในการ

จดเกบ Homepage และสง Homepage ไปยง Browser ท�มการเรยกเขา ยง Web server ท�เกบ

HomePage น <นอยซ�งปจจบนจดไดวาเปน web server ท�ม ความนาเช�อถอมาก ซ�งสามารถหามา

Download ไดจาก website www.apache.org

2. PHP 5.2.6

ภาษาพเอชพ (PHP) คอ ภาษาคอมพวเตอรในลกษณะเซรฟเวอร-ไซด สครปต โดยลขสทธeอยใน

ลกษณะโอเพนซอรส ภาษาพเอชพใชสาหรบจดทาเวบไซต และแสดงผลออกมาในรปแบบ HTML โดยม

รากฐานโครงสรางคาส�งมาจากภาษา ภาษาซ ภาษาจาวา และ ภาษาเพรล ซ�ง ภาษาพเอชพ น <นงายตอการ

เรยนร ซ�งเปาหมายหลกของภาษาน < คอใหนกพฒนาเวบไซตสามารถเขยน เวบเพจ ท�มความตอบโตไดอยาง

รวดเรว

3. MySQL 5.0.51b

มายเอสควแอล (MySQL) คอ โปรแกรมระบบจดการฐานขอมล ท�พฒนาโดยบรษทมายเอสควแอล

เอบ (MySQL AB) มหนาท�เกบขอมลอยางเปนระบบ รองรบคาส�งเอสควแอล (SQL = Structured Query

Language) เปนเคร�องมอสาหรบเกบขอมล ท�ตองใชรวมกบเคร�องมอหรอโปรแกรมอ�นอยางบรณาการ

เพ�อใหไดระบบงานท�รองรบความตองการของผ ใช เชนทางานรวมกบเคร�องบรการเวบ (Web Server) เพ�อ

ใหบรการแกภาษาสครปตท�ทางานฝ�งเคร�องบรการ (Server-Side Script) เชน ภาษาพเอชพ ภาษาเอเอส

วชา 954242 การพฒนาโปรแกรมเวบ ภาคการศกษาท� 2/2554 รหส.............................................ช�อ.......................................................................................Section………………

อ.กฤตวยาน ทองค และ อ.รฐพล วฒการณ

พดอทเนต หรอภาษาเจเอสพ เปนตน หรอทางานรวมกบโปรแกรมประยกต (Application Program) เชน

ภาษาวชวลเบสกดอทเนต ภาษาจาวา หรอภาษาซชารป เปนตน โปรแกรมถกออกแบบใหสามารถทางานได

บนระบบปฏบตการท�หลากหลาย และเปนระบบฐานขอมลโอเพนทซอรทท�ถกนาไปใชงานมากท�สด

4. phpMyAdmin-2.10.3

phpMyAdmin เปนสวนตอประสานท�สรางโดยภาษาพเอชพ ซ�งใชจดการฐานขอมล MySQL ผาน

เวบเบราวเซอร โดยสามารถท�จะทาการสรางฐานขอมลใหม หรอทาการสราง TABLE ใหมๆ และยงม

function ท�ใชสาหรบการทดสอบการ query ขอมลดวยภาษา SQL พรอมกนน <น ยงสามารถทาการ insert

delete update หรอแมกระท�งใช คาส�งตางๆ เหมอนกบกนการใชภาษา SQL ในการสรางตารางขอมล

ข �นตอนการตดต �งโปรแกรม AppServ

1. ทาการ download โปรแกรม Appserv 2.5.10 ท�เวบ www.appservnetwork.com แลวทาการตดต <ง

โปรแกรม

วชา 954242 การพฒนาโปรแกรมเวบ ภาคการศกษาท� 2/2554 รหส.............................................ช�อ.......................................................................................Section………………

อ.กฤตวยาน ทองค และ อ.รฐพล วฒการณ

2. กรอกขอมลท�ชอง Server Name, Administrator’s Email Address สวนชอง Apache HTTP Port

(Default : 80) ใหใชคาเดมคอ 80

3. ทาการกาหนดพาสเวรดของ root (แนะนาใหต <ง 1234) และเลอก Enable InnoDB ดวย

4. เม�อทาการตดต <ง เสรจใหเปดเวบเบราเซอรข <นมา ( internet explorer) แลวพมพคาวา

http://localhost ลงไปจะไดผลลพธดงภาพ

วชา 954242 การพฒนาโปรแกรมเวบ ภาคการศกษาท� 2/2554 รหส.............................................ช�อ.......................................................................................Section………………

อ.กฤตวยาน ทองค และ อ.รฐพล วฒการณ

5. โฟลเดอรท�ใชรนโปรแกรมจะอยท� c:\AppServ\www

การทางานของ php

1. รปแบบของภาษา

<?php echo “My program PHP”; ?>

2. การกาหนดชนดใหกบตวแปร

Integer คอเลขจานวนเตม เชน 1,2,56 เปนตน

Double คอเลขจานวนจรง เชน 1.25, 6.582312 เปนตน

String คอตวอกษร ตองอยภายในเคร�องหมาย double quotes (" ")

Array คอชดของขอมลท�เปนชนดเดยวกน

Object คอการกาหนดใหตวแปรน <นเกบคณสมบตของ Object ไว (ซ�งกคอ attribute และ method)

โดยใชช�อคลาสเปนตวกาหนด

ตวอยาง 1 การแสดงคาตวแปร

<?php

$test=26;

echo $test;

echo "<br/>";

echo $test. "<br/>";

วชา 954242 การพฒนาโปรแกรมเวบ ภาคการศกษาท� 2/2554 รหส.............................................ช�อ.......................................................................................Section………………

อ.กฤตวยาน ทองค และ อ.รฐพล วฒการณ

echo "$test <br/>";

echo "แสดงตวแปร ช�อตวแปรพรอมเคร�องหมาย $ ไดดงน < <br/>";

echo "$"."test";

?>

คาอธบาย บรรทดท� 2 เปนการกาหนดคาใหกบตวแปร test ใหมคาเทากบ 26 บรรทดท� 3 แสดงคา

test ออกทางจอภาพ บรรทดท� 4 ข <นบรรทดใหมโดยใชแทก html ซ�งแทก html ตองอยภายใน

เคร�องหมาย “”บรรทดท� 5 แสดงคา test ออกทางจอภาพ ซ�งแสดงรวมกบแทก html หรอคาสตรง

อ�นๆ โดยใชเคร�องหมายจดเปนตวชวยเช�อมระหวางตวแรกกบแทก html บรรทดท� 6 แสดงคา test

ออกทางจอภาพ ซ�งแสดงรวมกบแทก html โดยไมจาเปนตองมเคร�องหมายจด บรรทดท� 8 แสดงช�อ

ของตวแปร test พรอมกบเคร�องหมาย $ โดยการแยกเคร�องหมาย $ ไวในเคร�องหมายคาพดหน�ง

และช�อตวแปร test ไวในเคร�องหมายคาพดหน�ง แลวเช�อมสตรงท <ง 2 ดวยเคร�องหมายจด

ตวอยาง 2 การกาหนดชนดตวแปร

<?php

$total = 60-20;

echo "total = ".$total;

$total = "คาผลรวม";

Echo "<br/> total = ".$total;

?>

คาอธบาย กาหนดใหตวแปร total มชนดเปน integer และมคาเทากบ 60-20 แสดงผลออกทาง

จอภาพเปน 40 กาหนดคาใหกบตวแปร total ใหมเปน “คาผลรวม” :ซ�งเปนสตรง ดงน <นคา total จะ

เปล�ยนตามคาใหมท�กาหนดพรอมกบเปล�ยนชนดของตวแปรดวย

ตวอยางท� 3 การกาหนดชนดตวแปรโดยใชวธ casting (การกาหนดตวแปร โดยใสชนดของตวแปร

ไวในวงเลบหนาตวแปรท�ตองการ ในขณะท�ใหคากบตวแปร)

<?php

$x=30.2;

วชา 954242 การพฒนาโปรแกรมเวบ ภาคการศกษาท� 2/2554 รหส.............................................ช�อ.......................................................................................Section………………

อ.กฤตวยาน ทองค และ อ.รฐพล วฒการณ

$y=12.6;

$z=$x+$y;

echo "z= " .$z."<br/>";

$x=(int)$x;

$y=(int)$y;

$z=$x+$y;

echo "z= ".$z;

?>

คาอธบาย กาหนดใหตวแปร x มคาเทากบ 30.2 และตวแปร y มคาเทากบ 12.6 สรางตวแปร z เพ�อ

เกบคา x บวก y เม�อแสดงผลลพธออกทางจอภาพ ตวแปร z จะมคาเทากบ 42.8 ชนดของตวแปร z

จะเปน float จากน <น กาหนดชนดของตวแปร x และ y ใหเปน integer สรางตวแปร z เพ�อเกบคา x

บวก y เม�อแสดงผลลพธทางจอภาพคร <งน < ตวแปร z จะมคาเทากบ 42 โดยชนดของตวแปร z จะ

เปล�ยนเปน integer

3. การตรวจสอบการมอยของตวแปรและการยกเลกตวแปรดวย isset(), unset() และ empty()

ตวอยางท� 4 การใชฟงกช�น isset(), unset() และ empty()

<?php

echo"<center><font size=5> <br/>";

echo"ทดสอบการใชฟงกช�น isset <br/>";

$value=26.4;

if (isset($value)){

echo"ตวแปร value มคาเปน $value <br/>";}

else{

echo "ตวแปร value ไมมคา <br/>";}

echo"<br/><br/>";

echo"ทดสอบการใชงานฟงกชน unset <br/>";

วชา 954242 การพฒนาโปรแกรมเวบ ภาคการศกษาท� 2/2554 รหส.............................................ช�อ.......................................................................................Section………………

อ.กฤตวยาน ทองค และ อ.รฐพล วฒการณ

unset($value);

echo"<br/><br/>";

echo"ทดสอบการใชงานฟงกชน empty <br/>";

if (empty($value)){

echo "ตวแปร value ไมมคา <br/>";}

else{

echo "ตวแปร value มคาเปน $value <br/>";}

echo"<br/><br/>";

echo"</b></font></center>";

?>

คาอธบาย บรรทดท� 4 กาหนดคาของตวแปร value ใหมคาเทากบ 26.4 บรรทดท� 5-6 เรยกใช

ฟงกชน isset() เพ�อตรวจสอบวา value มคาหรอไม หากมคาใหแสดงขอความ “ตวแปร value มคา

เปน” พรอมกบคาของตวแปร หากเปนเทจใหแสดงขอความ “ตวแปร value ไมมคา” บรรทดท� 10

เรยกใชฟงกชน unset() เพ�อคนคาตวแปร value ใหกบหนวยความจา บรรทดท� 13 เรยกใชฟงกชน

empty() เพ�อตรวจสอบวาตวแปร value มคาหรอไม หากไมมคา คอเปนจรง ใหแสดงขอความ “ตว

แปร value ไมมคา” หากเปนเทจใหแสดงขอความ “ตวแปร value มคาเปน” พรอมกบคาของตวแปร

4. Tag เพ�อการแสดงคา <?=…?>

ในกรณท�ตองการแสดงคาจากตวแปรจะใช keyword echo เชน

<?php

echo $value;

?>

หรอ

<?php echo $value; ?>

จะเหนไดวาเปน code ท�ยาวและไมเหมาะตอการเขยนในรปแบบ html

วชา 954242 การพฒนาโปรแกรมเวบ ภาคการศกษาท� 2/2554 รหส.............................................ช�อ.......................................................................................Section………………

อ.กฤตวยาน ทองค และ อ.รฐพล วฒการณ

php สามารถแสดงคาตวแปรโดยใช tag เพ�อการแสดงคาไดเชน

<?= $value ?>

ซ�งจะเหนไดวาสามารถอานไดงายกวาและไมเปน code ท�ยดยาว

5. การใช Tag html ผสมกบ php

การใช Keyword echo กบ Tag html น <นทาใหการเขยนยงยากและไมเหมาะตอการออกแบบโดยใช

โปรแกรมเชน Dreamweaver ดงน <นผพฒนาอาจใช Tag html ผสมกบ Tag เพ�อการแสดงคา เชน

<table>

<tr>

<td>ช�อ</td>

<td><?= $name ?> </td>

</tr>

<tr>

<td>นามสกล</td>

<td><?= $sname ?> </td>

</tr>

<tr>

<td>ท�อย</td>

<td><pre><?= $address ?><pre></td>

</tr>

</table>

หรอ

<input type="text" name="name" value="<?= $name ?>" />

ซ�งจะดกวา

<?php echo "<input type=\"text\" name=\"name\" value=\"".$value."\" />"; ?>

วชา 954242 การพฒนาโปรแกรมเวบ ภาคการศกษาท� 2/2554 รหส.............................................ช�อ.......................................................................................Section………………

อ.กฤตวยาน ทองค และ อ.รฐพล วฒการณ

Assignment #5

1. ใหนกศกษาสรางไฟล PHP เพ�อแสดงรายละเอยดดงตอไปน <

1.1. ช�อ

1.2. นามสกล

1.3. รหสนกศกษา

1.4. ท�อย

1.5. เบอรโทรศพท

1.6. อเมล

รายละเอยดดงตวอยาง

ท �งน �ใหใชคาส� ง echo หรอ print ไดเพยงคร�งเดยวเทาน�น

2. ใหนกศกษาสรางไฟล PHP ซ�งประกอบไปดวยตวแปร A และ B โดย

$A = 10

$B = 2.345

1.1 ใหนกศกษาหาผลรวมระหวางตวแปร A และ ตวแปร B พรอมท <งแสดงคา

1.2 ใหนกศกษาทาการแปลงคาตวแปร B ใหเปนรปแบบ integer และหาผลรวมระหวางตวแปร A

และตวแปร B พรอมท <งแสดงคา

วชา 954242 การพฒนาโปรแกรมเวบ ภาคการศกษาท� 2/2554 รหส.............................................ช�อ.......................................................................................Section………………

อ.กฤตวยาน ทองค และ อ.รฐพล วฒการณ

3. ใหนกศกษาสรางไฟล PHP ซ�งประกอบไปดวยตวแปร C และ D โดย

$C = 555

$D = 333

ใหนกศกษาหาคาผลลพธของรปแบบคาส�งตอไปน < พรอมท <งแสดงผล

ตวดาเนนการ คาส�ง

+= $C += $D -= $C -= $D *= $C *= $D /= $C /= $D %= $C %= $D .= $C .= $D

4. กาหนดให $E = 9 และ $F = 1 จงเขยนโคดตอไปน <ใหสมบรณ (โดยสรางไฟล PHP)

<?php

$E = 9;

$F = 1;

echo _______*_______."<br>";

unset($E);

echo _______ + _______."<br>";

?>

เพ�อใหไดผลลพธ คอ

20

2

วชา 954242 การพฒนาโปรแกรมเวบ ภาคการศกษาท� 2/2554 รหส.............................................ช�อ.......................................................................................Section………………

อ.กฤตวยาน ทองค และ อ.รฐพล วฒการณ

5. กาหนดให $G = 1, $H = 1.0, $I = 2, $J = 0 และ $K = 1 ใหนกศกษาใชตวดาเนนการในตาราง

ดานลางทละแบบจนครบ โดยใหแสดงผลลพธสดทายท <งคา TRUE และ FALSE โดยใชตว

ดาเนนการกบตวแปรท�กาหนดใหเทาน <น ($G, $H, $I, $J และ $K)

ตวดาเนนการ

=== !== > =>

ยกตวอยางเชน ใชตวดาเนนการ == ทาใหแสดงคา TRUE และ FALSE โดยใชโคดดงน <

ตวอยางท�แสดงผลเปน TRUE

<?php

$G = 1;

$H = 1.0;

if($G==$H){

echo "TRUE";}

else{

echo "FALSE";}

?>

วชา 954242 การพฒนาโปรแกรมเวบ ภาคการศกษาท� 2/2554 รหส.............................................ช�อ.......................................................................................Section………………

อ.กฤตวยาน ทองค และ อ.รฐพล วฒการณ

ตวอยางท�แสดงผลเปน FALSE

<?php

$G = 1;

$I = 2;

if($G==$I){

echo "TRUE";}

else{

echo "FALSE";}

?>

หมายเหต ขยายความการใชคาส�ง เง�อนไข if-else

ถาเง�อนไขในวงเลบหลง if ถกตอง เชน (1==1) จะดาเนนการตามคาส�งหลงวงเลบปกกาหลงคาส�ง if แตถา

เง�อนไขไมถกตองจะไปดาเนนการตามคาส�งหลงวงเลบปกกา หลงคาส�ง else

ดงตวอยาง

<?php

$G = 1; /* บรรทดท� 1 */

$I = 2; /* บรรทดท� 2 */

if($G==$I){ /* บรรทดท� 3 */

echo "TRUE";} /* บรรทดท� 4 */

else{ /* บรรทดท� 5 */

echo "FALSE";} /* บรรทดท� 6 */

?>

บรรทดท� 3 ตรวจสอบเง�อนไขวา ตวแปร G เทากบ ตวแปร I หรอไม ในกรณน < 1 ($G) ไมเทากบ 2 ($I) ทาให

เง�อนไขไมถกตอง เลยตองไปดาเนนการตามคาส�งหลงวงเลบปกกา หลงคาส�ง else คอการแสดงคาวา

FALSE ออกมา

Recommended