Upload
tranphuc
View
221
Download
0
Embed Size (px)
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 ออกมา