12
วิชา 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) คือ ภาษาคอมพิวเตอร์ในลักษณะเซิร์ฟเวอร์-ไซด์ สคริปต์ โดยลิขสิทธิ อยู ่ใน ลักษณะโอเพนซอร์ส ภาษาพีเอชพีใช้สําหรับจัดทําเว็บไซต์ และแสดงผลออกมาในรูปแบบ HTML โดยมี รากฐานโครงสร้างคําสังมาจากภาษา ภาษาซี ภาษาจาวา และ ภาษาเพิร์ล ซึง ภาษาพีเอชพี นันง่ายต่อการ เรียนรู ้ ซึงเป้ าหมายหลักของภาษานี คือให้นักพัฒนาเว็บไซต์สามารถเขียน เว็บเพจ ทีมีความตอบโต้ได้อย่าง รวดเร็ว 3. MySQL 5.0.51b มายเอสคิวแอล (MySQL) คือ โปรแกรมระบบจัดการฐานข้อมูล ทีพัฒนาโดยบริษัทมายเอสคิวแอล เอบี (MySQL AB) มีหน้าทีเก็บข้อมูลอย่างเป็นระบบ รองรับคําสังเอสคิวแอล (SQL = Structured Query Language) เป็ นเครืองมือสําหรับเก็บข้อมูล ทีต้องใช้ร่วมกับเครืองมือหรือโปรแกรมอืนอย่างบูรณาการ เพือให้ได้ระบบงานทีรองรับความต้องการของผู ้ใช้ เช่นทํางานร่วมกับเครืองบริการเว็บ (Web Server) เพืให้บริการแก่ภาษาสคริปต์ทีทํางานฝังเครืองบริการ (Server-Side Script) เช่น ภาษาพีเอชพี ภาษาเอเอส

โปรแกรม AppServ 2.5 - myweb.cmu.ac.thmyweb.cmu.ac.th/wijit.a/954242/week4/LAB4.pdf · โฟลเดอร์ทีใช้รันโปรแกรมจะอยู่ที

Embed Size (px)

Citation preview

Page 1: โปรแกรม AppServ 2.5 - myweb.cmu.ac.thmyweb.cmu.ac.th/wijit.a/954242/week4/LAB4.pdf · โฟลเดอร์ทีใช้รันโปรแกรมจะอยู่ที

วชา 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) เชน ภาษาพเอชพ ภาษาเอเอส

Page 2: โปรแกรม AppServ 2.5 - myweb.cmu.ac.thmyweb.cmu.ac.th/wijit.a/954242/week4/LAB4.pdf · โฟลเดอร์ทีใช้รันโปรแกรมจะอยู่ที

วชา 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 แลวทาการตดต <ง

โปรแกรม

Page 3: โปรแกรม AppServ 2.5 - myweb.cmu.ac.thmyweb.cmu.ac.th/wijit.a/954242/week4/LAB4.pdf · โฟลเดอร์ทีใช้รันโปรแกรมจะอยู่ที

วชา 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 ลงไปจะไดผลลพธดงภาพ

Page 4: โปรแกรม AppServ 2.5 - myweb.cmu.ac.thmyweb.cmu.ac.th/wijit.a/954242/week4/LAB4.pdf · โฟลเดอร์ทีใช้รันโปรแกรมจะอยู่ที

วชา 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/>";

Page 5: โปรแกรม AppServ 2.5 - myweb.cmu.ac.thmyweb.cmu.ac.th/wijit.a/954242/week4/LAB4.pdf · โฟลเดอร์ทีใช้รันโปรแกรมจะอยู่ที

วชา 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;

Page 6: โปรแกรม AppServ 2.5 - myweb.cmu.ac.thmyweb.cmu.ac.th/wijit.a/954242/week4/LAB4.pdf · โฟลเดอร์ทีใช้รันโปรแกรมจะอยู่ที

วชา 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/>";

Page 7: โปรแกรม AppServ 2.5 - myweb.cmu.ac.thmyweb.cmu.ac.th/wijit.a/954242/week4/LAB4.pdf · โฟลเดอร์ทีใช้รันโปรแกรมจะอยู่ที

วชา 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

Page 8: โปรแกรม AppServ 2.5 - myweb.cmu.ac.thmyweb.cmu.ac.th/wijit.a/954242/week4/LAB4.pdf · โฟลเดอร์ทีใช้รันโปรแกรมจะอยู่ที

วชา 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."\" />"; ?>

Page 9: โปรแกรม AppServ 2.5 - myweb.cmu.ac.thmyweb.cmu.ac.th/wijit.a/954242/week4/LAB4.pdf · โฟลเดอร์ทีใช้รันโปรแกรมจะอยู่ที

วชา 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 พรอมท <งแสดงคา

Page 10: โปรแกรม AppServ 2.5 - myweb.cmu.ac.thmyweb.cmu.ac.th/wijit.a/954242/week4/LAB4.pdf · โฟลเดอร์ทีใช้รันโปรแกรมจะอยู่ที

วชา 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

Page 11: โปรแกรม AppServ 2.5 - myweb.cmu.ac.thmyweb.cmu.ac.th/wijit.a/954242/week4/LAB4.pdf · โฟลเดอร์ทีใช้รันโปรแกรมจะอยู่ที

วชา 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";}

?>

Page 12: โปรแกรม AppServ 2.5 - myweb.cmu.ac.thmyweb.cmu.ac.th/wijit.a/954242/week4/LAB4.pdf · โฟลเดอร์ทีใช้รันโปรแกรมจะอยู่ที

วชา 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 ออกมา