Doc11. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 1
ั
บทที่ 1
การติดตัง AppServ (PHP แอพพลิเคชันเซิรฟเวอร์)
้
่ ์
AppServ คือ ชุดติดตังโปรแกรม PHP แอพพลิเคชันเซิรฟเวอร์สาหรับติดตังบน
้
่ ์
้
ระบบปฏิบตการ Windows
ั ิ
ในชุดติดตัง AppServ นี้ ประกอบด้วยโปรแกรมต่างๆ ดังต่อไปนี้
้
Apache สาหรับทาหน้าทีเป็ นเว็บเซิรฟเวอร์
่
์
PHP สาหรับทาหน้าทีเป็ นตัวแปรภาษา PHP
่
MySQL สาหรับทาหน้าทีเป็ นดาต้าเบสเซิรฟเวอร์
่
์
phpMyAdmin สาหรับทาหน้าทีเป็ นโปรแกรมบริหารจัดการฐานข้อมูลของ
่
MySQL
เนื้อหาในส่วนนี้จะกล่าวถึงวิธการติดตังโปรแกรม AppServ (PHP แอพพลิเคชัน
ี
้
่
เซิรฟเวอร์) ซึงสามารถดาวน์โหลดได้ทเี่ ว็บไซต์ http://www.appservnetwork.com
์
่
การติ ดตังโปรแกรม AppServ (PHP แอพพลิ เคชั ่นเซิ รฟเวอร์)
้
์
1. ดับเบิลคลิกไฟล์ appserv-win32-2.5.10.exe หลังจากนันคลิก
้
รูปที่ 1 ขันตอนการติดตังโปรแกรมAppServ
้
้
2. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 2
ั
2. เข้าสูขนตอนเงือนไขการใช้งานโปรแกรม โดยโปรแกรม AppServ ได้แจกจ่ายใน
่ ั้
่
รูปแบบ GNU License หากผูตดตังอ่านเงือนไขต่างๆ เสร็จสินแล้ว หากยอมรับเงือนไขให้
้ ิ ้
่
้
่
กด Next เพือเข้าสูการติดตังในขันต่อไป แต่หากว่าไม่ยอมรับเงือนไขให้กด Cancel เพือ
่
่
้ ้
่
่
่
ออกจากการติดตังโปรแกรม AppServ ดังรูป จะปรากฏหน้าแสดงลิขสิทธิ ์ ให้กดปุม
้
รูปที่ 2 หน้าลิขสิทธิโปรแกรม AppServ
์
3. เข้าสูขนตอนการเลือกปลายทางทีตองการติดตัง โดยค่าเริมต้นปลายทางทีตดตัง
่ ั้
่ ้
้
่
่ ิ ้
จะเป็ น C:AppServ หากต้องการเปลี่ยนปลายทางทีตดตัง ให้กด Browse แล้วเลือก
่ ิ ้
่
ปลายทางทีตองการ ตามรูปที่ 3 เมื่อเลือกปลายทางเสร็จสินให้กดปุม Next เพื่อเข้าสู่
่ ้
้
ขันตอนการติดตังขันต่อไป (ค่า default คือ C:AppServ)
้
้ ้
3. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 3
ั
รูปที่ 3 หน้าต่างกาหนดไดเรกทอรี
4. Package เลือก Components ทีตองการติดตัง โดยค่าเริมต้นนันจะให้เลือกลง
่ ้
้
่
้
ทุก Package แต่หากว่าผูใช้งานต้องการเลือกลงเฉพาะบาง Package ก็สามารถเลือกตาม
้
ข้อทีตองการออก โดยรายละเอียดแต่ละ Package มีดงนี้ - Apache HTTP Server คือ
่ ้
ั
โปรแกรมทีทาหน้าเป็ น Web Server - MySQL Database คือ โปรแกรมทาหน้าที่เป็ น
่
Database Server - PHP Hypertext Preprocessor คือ โปรแกรมทาหน้าทีประมวลผล
่
การทางานของภาษา PHP - PhpMyAdmin คือ โปรแกรมทีใช้ในการบริหารจัดการ
่
ฐานข้อมูล MySQL ผ่านเว็บไซต์ เมื่อทาการเลือก Package ตามรูปที่ 4 เรียบร้อยแล้ว ให้
กด Next เพือเข้าสูขนตอนการติดตังต่อไป
่
่ ั้
้
4. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 4
ั
รูปที่ 4 หน้าต่างแสดงองค์ประกอบของโปรแกรม AppServ
5. กาหนดค่าคอนฟิ กของ Apache Web Server มีอยูดวยกันทังหมด 3 ส่วน ตาม
่ ้
้
รูป คือ - Server Name คือช่องสาหรับป้อนข้อมูลชื่อ Web Server ของท่าน ในทีน้ีใช้
่
localhost - Admin Email คือช่องสาหรับป้อนข้อมูล อีเมล์ผดูแลระบบ ในที่น้ีใช้
ู้
jirasaklert@yahoo.com - HTTP Port คือช่องสาหรับระบุ Port ทีจะเรียกใช้งาน Apache
่
Web Server โดยทัวไปแล้ว Protocol HTTP นันจะมีค่าหลักคือ 80 หากว่าท่านต้องการ
่
้
หลีกเลียงการใช้ Port 80 ก็สามารถแก้ไขได้ หากมีการเปลี่ยนแปลง Port การเข้าใช้งาน
่
Web Server แล้ว ทุกครังทีเรียกใช้งานเว็บไซต์จาเป็ นทีตองระบุหมายเลข Port ด้วย เช่น
้ ่
่ ้
หากเลื อ กใช้
Port
99
ในการเข้ า เว็ บ ไซต์ ทุ ก ครั ง ต้ อ งใช้
้
ttp://www.appservnetwork.com:99 จึงจะสามารถเข้าใช้งานได้
5. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 5
ั
รูปที่ 5 หน้าต่างกาหนดชื่อ Server
Server Name : localhost
Http Port : 80
6. กาหนดค่าคอนฟิ กของ MySQL Database มีอยูดวยกันทังหมด 3 ส่วน ตามรูป
่ ้
้
ที่ 6 คือ - Root Password คือช่องสาหรับป้อน รหัสผ่านการเข้าใช้งานฐานข้อมูลของ
Root หรือผูดูแลระบบทุกครังทีเข้าใช้งานฐานข้อมูล ในลักษณะที่เป็ นผูดูแลระบบ ให้ระบุ
้
้ ่
้
user คือ root - Character Sets ใช้ในการกาหนดค่าระบบภาษาทีใช้ในการจัดเก็บ
่
ฐานข้อมูล, เรียงลาดับฐานข้อมูล,Import ฐานข้อมูล, Export ฐานข้อมูล, ติดต่อฐานข้อมูล ั
Old Password หากท่านมีปญหาเกี่ยวกับการใช้งาน PHP กับ MySQL API เวอร์ชนเก่า
ั่
โดยเจอ Error Client does not support authentication protocol requested by server;
consider upgrading MySQL client ให้เลือกในส่วนของ Old Password เพื่อหลีกเลียง
่
ั
ปญหานี้ - Enable InnoDB หากท่านต้องการใช้งานฐานข้อมูลในรูปแบบ InnoDB ให้เลือก
ในส่วนนี้ หลังจากนันคลิก
้
6. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 6
ั
รูปที่ 6 หน้าต่างกาหนด password สาหรับเข้าใช้งาน
Enter root password : root
Re-enter root password : root
Character sets and Collations : tis620 Thai
7. ชุดติดตังจะทาการติดตังโปรแกรมจนกระทังเสร็จสิน ดังรูป
้
้
่
้
7. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 7
ั
รูปที่ 7 หน้าต่างการติดตังโปรแกรม AppServ
้
8. สินสุดขันตอนการติดตังโปรแกรม AppServ สาหรับขันตอนสุดท้ายนี้จะมีให้
้
้
้
้
่
เลือกว่าต้องการสังให้มการรัน Apache และ MySQL ทันทีหรือไม่ จากนันกดปุม
่ ี
้
รูปที่ 8 หน้าต่างแสดงการติดตังทีเสร็จสมบูรณ์
้ ่
8. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 8
ั
9. ทดสอบการติดตังโดยเปิดเว็บเบราเซอร์ (เช่น Internet Explorer) ไปที่
้
http://localhost
รูปที่ 9 ทดสอบการใช้โปรแกรม
การสร้างโฟลเดอร์เพื่อใช้งาน
1. ให้เข้าไปทีโฟลเดอร์ทเราสร้างขึนจากข้อ 1 ในที่น้ีคอ C:AppServ จากนันสังเกต
่
่ี
้
ื
้
โครงสร้างของโฟลเดอร์น้ี
รูปที่ 10 โฟลเดอร์ C:AppServ
9. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 9
ั
2. จะพบโฟลเดอร์ ดังรูปที่ 11
รูปที่ 11 โฟลเดอร์ยอยของ C:/AppServ
่
3. ให้ดบเบิลคลิกทีโฟลเดอร์ www ซึงเป็ นโฟลเดอร์สาหรับเก็บโปรเจ็กต์ของเรา ดัง
ั ้
่
่
รูปที่ 12
รูปที่ 12 โฟลเดอร์ยอย www สาหรับเก็บโปรเจ็กต์
่
4. ให้สร้างโฟลเดอร์ยอยใน www ชื่อ myweb และมีโฟลเดอร์ยอยชื่อ images เพือ
่
่
่
เก็บรูปภาพใน myweb
10. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 10
ั
รูปที่ 1.13 โครงสร้างโฟลเดอร์
โปรแกรมแรกของฉัน
1. ให้เปิดโปรแกรมเอดิเตอร์สาหรับการเขียนโปรแกรม จากนันให้พมพ์โปรแกรม
้
ิ
ต่อไปนี้ลงไป
2. จากนันทาการบันทึกไฟล์ลงในโฟลเดอร์ทเี่ รากาหนด นันคือ C:AppServperson
้
้
โดยในทีน้ีบนทึกชื่อ first.php
่ ั
3. ทาการประมวลผลโปรแกรม ให้เปิดบราวเซอร์ขนมา จากนันพิมพ์ URL :
้ึ
้
http://localhost และตามด้วยชื่อโฟลเดอร์และโปรแกรม จะได้เป็ น
http://localhost/myweb/first.php เมื่อกด enter จะปรากฏข้อความตามโปรแกรม ดังรูป
11. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 11
ั
สรุป ให้นกศึกษาสรุปหลักการทางานของโปรแกรม โดยวาดรูปพร้อมอธิบาย
ั
…………………………………………………………………………………………………
……………………………………………...…………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
………………………………………………………………………………
12. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 12
ั
บทที่ 2
PHP เบืองต้น
้
ในบทนี้จะกล่าวถึงพืนฐาน PHP เพื่อเป็ นพืนฐานในการศึกษาบทต่อ ๆ ไป โดย
้
้
กล่าวถึง การแทรกคาสังภาษา PHP ในเอกสาร HTML องค์ประกอบพืนฐานของการเขียน
่
้
โปรแกรม PHP ตัวแปรและชนิดตัวแปร ข้อมูลที่รองรับ PHP การแปลงชนิดข้อมูล ตัว
ดาเนินการและนิพจน์ และค่าคงที่
1. การแทรกคาสัง PHP ลงในเอกสาร HTML
่
สามารถแทรกคาสังภาษา PHP ได้โดยการใช้ PHP tags ซึงมีไว้เพือเป็ นการบ่ง
่
่
่
บอกให้รสวนทีเป็ นคาสังของภาษา PHP ทีอยูในเอกสาร HTML การใช้ PHP tags นัน
ู้ ่ ่
่
่ ่
้
สามารถทาได้ 4 รูปแบบ ดังต่อไปนี้
แบบที่
ชื่อแบบ
รูปแบบ
หมายเหตุ
1 XML style
<?php
หรือแบบ
คาสัง;
่
มาตรฐาน
?>
2 SGML หรือ
<?
Short Tags
คาสัง;
่
?>
3 Script Style <script language=`php’>
คาสัง;
่
</script>
4 ASP Style
<%
แบบทีควรใช้คอ XML style
่
ื
คาสัง;
่
เนื่องจากสามารถรันได้กบทุก
ั
%>
Server อีกทังสอดคล้องกับ
้
ไวยากรณ์ของภาษา XML
13. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 13
ั
หมายเหตุ สาหรับการใช้แท็กแบบ ASP นัน ก่อนจะใช้งานได้จะต้องมีการปรับแต่งไฟล์
้
php.ini (อยูในโฟลเดอร์ C:windows) โดยต้องทาการเปลียนค่าในไฟล์
่
่
asp_tags = off เปลียนให้เป็ น
่
asp_tags = on
ฝึ กปฏิ บติ ให้นกศึกษาพิมพ์โปรแกรมตามตัวอย่างที่ 2.1 ต่อไปนี้ และศึกษาการแทรก
ั
ั
PHP ในเอกสาร HTML
<html><head>
<title>การใช้ php tag</title>
</head><body>
XML style
<?php
echo "แบบมาตรฐาน <br>";
?>
SGML หรือ
<?
Short Tags
echo "แบบสัน <br>";
้
?>
<script language="php">
Script Style
echo "แบบสคริปต์ <br>";
</script>
ASP Style
<%
echo "แบบ asp <br>";
%>
</body>
</html>
สามารถวางคาสังในภาษา PHP ไว้ภายในเอกสาร HTML ตามทีตองการได้ โดยที่
่
่ ้
PHP tags อาจจะวางอยูสลับกับ HTML tags ตัวอย่าง ดังนี้
่
14. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 14
ั
ตัวอย่างที่ 2.2 การใช้ PHP tags ร่วมกับ HTML tags
1 <html>
2
<head>
3
<title>My Homepage</title>
4
</head>
5
<body>
6
<h1><?php echo "Hello World!"; ?></h1>
7
</body>
8 </html>
2. องค์ประกอบพืนฐานของการเขียน PHP
้
PHP นันจะใช้โครงสร้างทางภาษาในรูปแบบเดียวกับภาษาซี ดังนันแนวทางในการ
้
้
เขียนจึงคล้ายคลึงกัน ทังนี้มองค์ประกอบพืนฐานบางส่วนที่ควรรูจก เพื่อจะได้นาไปใช้
้ ี
้
้ั
ร่วมกับการเขียนโปรแกรมอื่นๆ ต่อไป ดังนี้
1) เครื่องหมายสิ้ นสุดคาสั ่ง
ใน PHP จะใช้เครื่องหมาย ; (Semicolon) เป็ นตัวแสดงจุดสินสุดในแต่ละคาสัง่ เช่น
้
$x = 10;
$z = ‚abc‛;
หลังใส่เครื่องหมาย ; เพือสินสุดคาสังแล้ว สามารถนาคาสังอื่นมาต่อท้ายได้เลย แต่
่ ้
่
่
การเขียนโค๊ดลักษณะนี้จะอ่านโปรแกรมได้ยาก ดังนันไม่นิยมทากัน เช่น
้
$x = 10; $y = x + 10 : $z = ‚abc‛;
2) คาอธิ บาย (Comment)
คาอธิบาย ใช้ในการอธิบายเกียวกับโปรแกรมทีเขียน เพื่อช่วยให้พจารณาโค้ด
่
่
ิ
ได้งายขึน แต่โปรแกรมจะไม่นาส่วนทีเป็ นคาอธิบายไปประมวลผลได้ใน PHP สามารถ
่ ้
่
เขียนคาอธิบายได้หลายแบบดังนี้
15. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 15
ั
- แบบบรรทัดเดียว เริมต้นด้วย // (Slashes) หรือ # จากนันตามด้วยเนื้อหาของ
่
้
คอมเมนต์
// ข้อความคอมเมนต์
# ข้อความคอมเมนต์
- แบบหลายบรรทัด เริมต้นด้วย /* ตามด้วยเนื้อหาของคอมเมนต์ และจบด้วย */
่
/*
ข้อความคอมเมนต์ บรรทัดที่ 1
ข้อความคอมเมนต์ บรรทัดที่ 2
*/
ตัวอย่างที่ 2.4 โปรแกรมตัวอย่างการใช้คาอธิ บาย
1 <html><head>
2 <title> comment </title>
3 </head><body>
4 <?php
5
echo "สวัสดี";
// แสดงข้อความสวัสดี
6
echo "<br>";
# เว้น 1 บรรทัด
7
echo "<b>สวัสดี นักศึกษา IT</b>";
8
/*
9
การใช้ echo และ print จะสามารถแทรกแท็ก html
10
ผสมลงไปได้
11
*/
12 ?>
13 </body> </html>
3. การแสดงผลข้อมูลผ่านเว็บบราวเซอร์
การแสดงผลคือ การที่ PHP ส่งผลลัพธ์ของทีเกิดจากการทางานของสคริปต์กลับไปที่
่
บราวเซอร์ ซึงใน PHP มีหลายคาสังทีสามารถทาเช่นนี้ได้ โดยมีรายละเอียด ดังต่อไปนี้
่
่ ่
16. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 16
ั
1) คาสัง print ( )
่
คาสัง่ print ( ) สามารถใช้แสดงผลลัพธ์ของข้อมูลแล้วส่งผ่านไปแสดงผลยังเว็บ
บราวเซอร์ โดยมีรปแบบ ดังนี้
ู
int print (string $arg)
เมื่อ $arg หมายถึง ตัวแปรข้อมูลนาเข้า (The input data) หากการทางาน
ของคาสัง่ print ( ) ถูกต้อง จะมีการส่งค่ากลับเป็น "1" เสมอ หากการทางานไม่ถูกต้องก็จะ
ส่งค่ากลับเป็ นค่าอื่นๆ
ตัวอย่างที่ 2.5 การใช้งานคาสัง่ print ( )
1 <?php
2
print ("<p>I love the summertime.</p>");
3 ?>
ตัวอย่างที่ 2.6 การแสดงค่าของตัวแปรผ่านคาสัง่ print ( )
1 <?php
2
$season = "summertime";
3
print "<p> I love the $season.</p>";
4 ?>
ตัวอย่างที่ 2.7 การใช้ประโยคพารามิเตอร์อยูคนละบรรทัดผ่านคาสัง่ print ( )
่
1 <?php
2
print "<p>I love the
3
summertime.</p>";
4 ?>
จากตัวอย่างทังหมดทีได้แสดงโค๊ดตัวอย่างคาสัง่ ผลลัพธ์ จะแสดง ดังนี้
้
่
I love the summertime.
17. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 17
ั
รูปแบบได้กาหนดให้ใส่พารามิเตอร์ในวงเล็บของประโยคคาสัง่ print ( ) ด้วยความ
ที่ PHP ออกแบบมาให้งายและยืดหยุน ซึ่งจะใส่วงเล็บก็ได้ไม่ใส่กได้ ก็จะสามารถแสดง
่
่
็
ผลลัพธ์ได้เหมือนกัน
2) คาสัง echo ( )
่
คาสัง่ echo ( ) สามารถใช้แสดงผลลัพธ์ของข้อมูลแล้วส่งผ่านไปแสดงผลยังเว็บ
บราวเซอร์ เหมือนกับคาสัง่ print ( ) ส่วนความแตกต่างนัน คือ คาสัง่ print ( ) จะมีการ
้
ตรวจสอบข้อผิดพลาดมากกว่าคาสัง่ echo ( ) แต่ไม่มความสาคัญมากนักสามารถใช้งาน
ี
เหมือนๆ กัน โดยรูปแบบของคาสัง่ echo มีดงนี้
ั
รูปแบบ
void echo ( string $arg1 [, string $... ] )
เมื่อ $arg1 หมายถึง ตัวแปรข้อมูลนาเข้า (สามารถกาหนดได้หลายตัวแปร)
ตัวอย่างที่ 2.8 การใช้คาสัง่ echo ( )
1 <?php
2
$heavyweight = "Lennox Lewis";
3
$lightweight = "Floyd May weather";
4
echo $heavyweight, " and ", $lightweight, " are great fighters.";
5 ?>
ผลลัพธ์
Lennox Lewis and Floyd May weather are great fighters.
หากเจตนาต้องการแสดงผลลัพธ์ท่มการผสมผสานระหว่างข้อความแบบคงที่และ
ี ี
ข้อมูลแบบไดนามิกผ่านตัวแปร ขอให้พจารณาใช้ printf ( ) แทนซึ่งมีการแนะนาต่อไป
ิ
หากเป็ นเพียงข้อความแบบคงทีธรรมดาทัวๆ ไป ก็ขอแนะนาให้ใช้คาสัง่ echo ( ) หรือ
่
่
print ( ) เพือการทางานก็เพียงพอแล้ว
่
18. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 18
ั
3) คาสัง printf ( )
่
คาสัง่ printf ( ) ใช้สาหรับแสดงในรูปแบบข้อความ (Formatted String) เหมาะสา
หรับการแสดงผลลัพธ์แบบผสมผสานระหว่างข้อความแบบคงทีและข้อมูลแบบไดนามิกที่
่
เก็บไว้ในตัวแปรหรือหลายๆ ตัวแปร และยังสามารถควบคุมการแสดงผลข้อมูลแบบไดนา
มิก เจาะจงการแสดงผลทีหน้าจอมีความเทียงในการจัดตาแหน่ งแต่และตาแหน่ ง มีรูปแบบ
่
่
การใช้งาน ดังนี้
รูปแบบ
int printf ( string $format [, mixed $args [, mixed $... ]] )
เมื่อ $format หมายถึง ตัวกาหนดชนิดการแสดงผล (Type Specifiers)
$args หมายถึง ตัวแปรข้อมูลนาเข้า
ตัวอย่างที่ 2.9 การใช้คาสัง่ printf ( ) สาหรับแสดงในรูปแบบข้อความ
printf ("Bar inventory: %d bottles of tonic water.", 100);
ผลลัพธ์
Bar inventory: 100 bottles of tonic water.
ในตัวอย่างนี้ %d เป็ น Format สาหรับตัวกาหนดชนิดการแสดงผล ในทีน้ี %d คือ
่
การกาหนดให้แสดงค่าของตัวเลขจานวนเต็ม นอกจากนันยังหมายถึงการระบุตาแหน่งทีจะ
้
่
ให้แสดงผลลัพธ์ จากตัวอย่าง เมื่อใช้คาสัง่ printf () มีค่าพารามิเตอร์ ทีส่งเข้ามา คือ 100
่
ค่า 100 จะถูกแทนทีใน %d ระหว่างข้อความ สาหรับกรณีท่ี ตัวเลขทีส่งเข้ามาเป็ นค่า
่
่
ั
ทศนิยม ค่าดังกล่าวก็จะถูกปดเศษให้เป็ นจานวนเต็มทีใกล้เคียงทีสุด เช่น ถ้าส่งค่าเป็ น
่
่
100.2 ผลลัพธ์จะแสดงเป็ น 100 สาหรับตัวกาหนดชนิดการแสดงผล มีรายละเอียด ดัง
ตารางที่ 2.1 ดังนี้
19. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 19
ั
ตารางที่ 2.1 แสดงตัวกาหนดชนิดการแสดงผลทีใช้รวมกับคาสัง่ printf ( )
่ ่
ตัวกาหนดชนิ ด
ความหมาย
%b
เป็ นชนิดตัวเลข แสดงผลเป็ นเลขไบนารี (a binary number)
%c
เป็ นชนิดตัวเลข แสดงผลเป็ นตัวอักขระ ASCII
%d
เป็ นชนิดตัวเลขจานวนเต็มบวกและลบ แสดงผลเป็ นตัว
เลขฐานสิบ
%f
เป็ นชนิดตัวเลขจานวนจริง แสดงผลเป็ นตัวเลขฐานสิบและ
ทศนิยม
%o
เป็ นชนิดตัวเลขจานวนเต็ม แสดงผลเป็ นตัวเลขฐานแปด
%s
เป็ นชนิดข้อความ แสดงผลเป็ นข้อความ
%u
เป็ นชนิดตัวเลขจานวนเต็มบวก แสดงผลเป็ นตัวเลขฐานสิบ
%x
เป็ นชนิดตัวเลข แสดงผลเป็ นเลขฐานสิบหก (อักษรพิมพ์
เล็ก)
%X
เป็ นชนิดตัวเลข แสดงผลเป็ นเลขฐานสิบหก (อักษรพิมพ์
ใหญ่)
ดังนันหากต้องการทีจะส่งผ่านข้อมูล 2 ค่า สามารถทาได้โดยระบุตวกาหนดชนิด 2
้
่
ั
ตัวเช่นกัน ดังตัวอย่าง ดังนี้
ตัวอย่างที่ 2.10 การใช้คาสัง่ printf ( ) โดยระบุตวกาหนดชนิดมากกว่า 1 ชนิด
ั
printf ("%d bottles of tonic water cost $%f", 100, 43.20);
ผลลัพธ์
100 bottles of tonic water cost $43.20
หากต้องการกาหนดจานวนของการแสดงผลจานวนเลขทศนิยม สามารถกาหนดได้
โดยระบุตวเลขไว้ก่อนหน้า ตัวกาหนดชนิด ดังนี้
ั
20. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 20
ั
ตัวอย่างที่ 2.11 การใช้คาสัง่ printf ( ) เพือการแสดงผลจานวนเลขทศนิยม
่
printf ("$%.2f", 43.2); // ผลลัพธ์ คือ $43.20
4) คาสัง sprintf ( )
่
ั ั ่
คาสัง่ sprintf ( ) เป็ นฟงก์ชนทีทาหน้าทีเหมือนคาสัง่ printf ( ) แตกต่างก็ตรงที่
่
ั ั
ฟงก์ชน sprintf () ใช้สาหรับส่งค่ากลับเป็ นข้อความหรือสตริงหรือเป็ นการนาสตริงมาต่อให้
เป็ นประโยคเดียวกันแล้วกาหนดค่าให้กบตัวแปร เพื่อประโยชน์การทางานตามเหมาะสม
ั
ไม่มการแสดงผลออกไปยังเว็บบราวเซอร์ ลักษะการใช้งานเหมือน printf ( ) ดังนันจะใช้
ี
้
ตัวกาหนดชนิด เหมือนกัน ตามตารางที่ 2.1 การใช้งานมีรปแบบ ดังนี้
ู
รูปแบบ
string sprintf ( string $format [, mixed $args [, mixed $... ]] )
ตัวอย่างที่ 2.12 การใช้คาสัง่ sprintf ( ) สาหรับส่งค่ากลับเป็ นข้อความให้เป็ น
ประโยคเดียวกัน
$cost = sprintf ("$%.2f", 43.2); // ผลลัพธ์ คือ กาหนดให้ $cost =
$43.20
4. ตัวแปร (Variable)
ตัวแปร ใช้ในการเก็บพักข้อมูลบางอย่างก่อนทีจะนeข้อมูลนันไปใช้งานอื่นๆ ต่อไป
่
้
ทีน่าสนใจสาหรับตัวแปรใน PHP ไม่จาเป็ นต้องได้รบการประกาศอย่างชัดเจนเหมือน
่
ั
ภาษาอื่นๆ แต่กไม่เป็ นสิงทีดนักหากขาดทักษะการเขียนโปรแกรมทีดี ก็อาจจะทาให้เกิด
็
่ ่ ี
่
ความสับสนในการใช้งานได้ รายละเอียดทีน่าสนใจเกียวกับตัวแปรมีดงนี้
่
่
ั
ข้อกาหนดของตัวแปรใน PHP
วิธการกาหนดตัวแปรใน PHP จะมีขอกาหนดทีสาคัญดังนี้คอ
ี
้
่
ื
1) ตัวแปรใน PHP ไม่จาเป็ นต้องระบุชนิดของข้อมูล เนื่องจากตัวแปรแต่ละตัว
สามารถเก็บข้อมูลชนิดใดก็ได้
21. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 21
ั
2) ตัวแปรใน PHP จะต้องขึนด้วยสัญลักษณ์เครื่องหมาย $ (Dollar Sign) แล้วตาม
้
ด้วยชื่อของตัวแปรทีตองการใช้งาน เช่น $name, $value, $a, $x เป็ นต้น
่ ้
3) ตามข้อกาหนดดังเดิมนัน ตัวแปรต้อง ขึนต้น ด้วยอักษร a-z หรือ A-Z หรือ
้
้
้
เครื่องหมาย _ เท่านัน ห้ามขึนต้นด้วยตัวเลข 0-9 หรืออักขระอื่นๆ นอกเหนือจากนี้
้
้
ตัวอย่างการกาหนดตัวแปรทีถูกต้อง เช่น $name, $_price, $value1, $num2string
่
4) การเขียนตัวแปรด้วยลักษณะ ตัวพิมพ์ทแตกต่างกัน ถือว่าเป็ นตัวแปรคนละตัว
่ี
เช่น $abc, $ABC จะถือว่าไม่ใช่ตวแปรเดียวกัน
ั
ั ั
5) ในปจจุบน สามารถนาอักขระภาษาอื่นๆ มาตังเป็ นชื่อตัวแปรได้ ซึ่งจากการ
้
ทดสอบของผูเขียนพบว่า สามารถตังชื่อเป็ นภาษาไทยก็ได้ เช่น $ ชื่อ, $จานวน1, $
้
้
ผลลัพธ์ เป็ นต้น แต่โดยทัวไปแล้ว นิยมตังชื่อตัวแปรเป็ นภาษาอังกฤษมากกว่า
่
้
เมื่อได้ประกาศตัวแปรก็สามารถเริมต้นใช้งานได้ทนที แต่ก่อนทีจะนาตัวแปรไปใช้
่
ั
่
งานได้นน ตัวแปรจะต้องเก็บข้อมูลบางอย่างเอาไว้ หรือเรียกว่าการกาหนดค่าตัวแปร การ
ั้
กาหนดค่าตัวแปรแบบง่ายๆ คือ การคัดลอกค่าหรือโอนถ่ายค่าของนิพจน์ หรือสมการ
ต่างๆ โดยมีสญลักษณ์ทใช้กาหนดค่า คือ เครื่องหมาย = (เท่ากับ) การกาหนดค่าตัวแปร
ั
่ี
นัน หลักๆ จะมีอยูดวยกัน 2 วิธี คือ 1) กาหนดค่าตัวแปรปกติ (by value) และ 2) กาหนด
้
่ ้
ตัวแปรโดยการอ้างอิง (by reference) ดังนี้
การกาหนดค่าตัวแปรปกติ (Value Assignment)
การกาหนดค่าตัวแปรรูปแบบนี้ เป็ นการกาหนดค่าตัวแปรแบบง่ายทีสุดและนิยมใช้
่
งานโดยทัวไป สามารถกาหนดได้หลายลักษณะขึนอยูกบชนิดข้อมูล ดังนี้
่
้ ่ ั
สาหรับข้อมูลชนิดตัวเลข ก็เขียนเป็ นตัวเลขลงๆ ไปโดยตรงได้เลย ตัวอย่างดังนี้
ตัวอย่างที่ 2.13 การกาหนดค่าตัวแปรปกติ
$x = 123; // กาหนดให้ตวแปร $x มีคาเท่ากับ 123
ั
่
$y = 4.56; // กาหนดให้ตวแปร $y มีคาเท่ากับ 4.56
ั
่
$z = -789; // กาหนดให้ตวแปร $z มีคาเท่ากับ -789
ั
่
22. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 22
ั
สาหรับข้อมูลชนิดข้อความก็กาหนดตามรูปแบบการเขียนข้อความ นังคือต้องเขียน
่
ไว้ในเครื่องหมาย ‚ ‛ หรือไม่ก็ ‘ ’ เท่านัน ตัวอย่างดังนี้
้
ตัวอย่างที่ 2.14 การกาหนดค่าตัวแปรชนิดข้อความหรือสตริง
$name = ‚ปริญญา‛; // กาหนดให้ตวแปร $name มีคาเท่ากับข้อความ ปริญญา
ั
่
$country = ‘Thailand’; // กาหนดให้ตวแปร $country มีคาเท่ากับข้อความ
ั
่
Thailand
$phone = ‘0123456789’; // กาหนดให้ตวแปร $phone มีค่าเท่ากับข้อความ
ั
0123456789
ตัวเลขทีเขียนในแบบข้อความ เช่น ‚123‛ จะถือว่าเป็ น ‚ชนิดข้อความ‛ แต่สามารถ
่
นาไปใช้คานวณได้ตามปกติ ทังนี้การกาหนดข้อความด้วยเครื่องหมาย ‚…‛ และ ‘…’ จะมี
้
ข้อแตกต่างกันบางกรณีซงจะอธิบายเพิมเติมในหัวข้อต่อๆ ไป
่ึ
่
ส่วนกรณีทตวแปรเป็ นชนิดบูลนก็กาหนดค่าเป็ น true หรือ false อย่างใดอย่างหนึ่ง
่ี ั
ี
ดังนี้
ตัวอย่างที่ 2.15 การกาหนดค่าตัวแปรชนิดบูลน
ี
$first_time = true ;
$is_valid = false ;
การใช้งานตัวแปรใน PHP มีความยืดหยุน ไม่จากัดชนิดของตัวแปรเป็ นชนิดใด
่
ชนิดหนึ่ง และยังสามารถสลับปรับเปลียนได้ในทันที มีตวอย่าง ดังนี้
่
ั
ตัวอย่างที่ 2.15 การกาหนดค่าตัวแปรแบบไม่จากัดชนิดของตัวแปร
$color = "red";
$number = 12;
$age = 12;
$sum = 12 + "15"; // ผลลัพธ์ ตัวแปร $sum = 27
23. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 23
ั
5. ชนิ ดข้อมูล (Data Types)
ใน PHP มีขอมูลอยูหลายชนิด ไม่ว่าจะเป็ นข้อมูลชนิดบูลน (Boolean) ตัวเลข
้
่
ี
จานวนเต็ม (Integer) ตัวเลขจานวนจริง (Float) ข้อความหรือสตริง (String) และอาร์เรย์
(Array) เพื่อทาความเข้าใจและสามารถนาไปใช้ร่วมกับการกาหนดตัวแปรในหัวข้อต่อๆ
ไป ดังรายละเอียดต่อไปนี้
ชนิ ดข้อมูล (Data Types)
Integer
Double
String
Boolean
Object
Array
ตัวอย่าง
5
3.234
‚hello‛
true
อธิ บาย
จานวนเต็ม
จานวนจริง
กลุมของตัวอักขระ
่
ค่าพิเศษหนึ่งในสองค่าของ true และ false
วัตถุทอยูในคลาส
่ี ่
กลุมของข้อมูลทีมลาดับของคีย์
่
่ ี
ฟั งก์ชนที่เกี่ยวข้องกับชนิ ดข้อมูล (Type-Related Functions)
ั
ั ั ่ ่
ฟงก์ชนทีเกียวข้องกับชนิดข้อมูล เช่น การตรวจสอบ และการแปลงชนิดข้อมูล มี
รายละเอียด ดังนี้
1) ฟั งก์ชนเรียกดูชนิ ดของข้อมูล (Retrieving Types)
ั
ั ั่
เราสามารถใช้ฟงก์ชน gettype() ของ PHP เพื่อทดสอบชนิดของข้อมูล โดยตัว
ั
แปรทีตองการตรวจสอบจะอยูในเครื่องหมายวงเล็บของฟงก์ช ั ่น gettype() ผลลัพธ์ทได้จะ
่ ้
่
่ี
ส่งค่ากลับมาเป็ นข้อความแสดงชนิดของข้อมูลของตัวแปรทีทาการทดสอบ
่
1
2
3
4
ั ั
ตัวอย่างที่ 2.22 ตัวอย่างการใช้ฟงก์ชน gettype ( ) เรียกดูชนิดของข้อมูล
<?php
$data = "Mr.Parinya";
echo gettype ($data); // ผลลัพธ์ คือ string
?>
24. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 24
ั
2) ฟั งก์ชนแปลงชนิ ดข้อมูล (Converting Types)
ั
ั ั
ั ั
ฟงก์ชน settype ( ) เป็ นฟงก์ชนสาหรับแปลงตัวแปรตามทีระบุ ให้เป็ นชนิดอื่นๆ
่
ตามต้องการ ชนิดของข้อมูลที่สามารถแปลงได้นน มี 7 ชนิด ประกอบด้วย array,
ั้
boolean, float, integer, null, object และ string นอกจากนี้ถ้าหากการแปลงชนิดข้อมูล
ั ั
ประสบความสาเร็จ ฟงก์ชน settype ( ) จะมีการส่งค่ากลับผลลัพธ์จะมีค่าเป็ น TRUE หาก
ไม่สาเร็จจะส่งค่ากลับเป็ น FALSE รูปแบบการใช้งาน ดังนี้
รูปแบบ
bool settype ( mixed &$var , string $type )
เมื่อ $var หมายถึง ตัวแปรทีตองการแปลงชนิด
่ ้
$type หมายถึง ชนิดทีตองการแปลง มีรายละเอียดดังนี้
่ ้
"boolean" คือ บูลน
ี
"integer" คือ เลขจานวนเต็ม
"float" คือ เลขจานวนจริง
"string" คือ ข้อความ
"array" คือ อาร์เรย์
"object" คือ ออบเจ็กต์
"null" คือ ค่าว่างหรือไม่กาหนดชนิดใดๆ
ั ั
ตัวอย่างที่ 2.23 ตัวอย่างการใช้ฟงก์ชน settype ( ) เพือแปลงหรือกาหนดชนิด
่
ข้อมูล
1 <?php
2
$foo = "5bar"; // เป็ นชนิด string
3
$bar = true; // เป็ นชนิด boolean
4
settype ($foo, "integer"); // ผลลัพธ์ $foo จะมีคาเท่ากับ 5 และเป็ นชนิด integer
่
5
settype ($bar, "string"); // ผลลัพธ์ $bar จะมีคาเท่ากับ "1" และเป็ นชนิด string
่
6 ?>
25. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 25
ั
3) ฟั งก์ชนตรวจสอบชนิ ดของข้อมูล (Type Identifier Functions)
ั
ั ั
ฟงก์ชนที่ใช้สาหรับตรวจสอบชนิดของข้อมูล ประกอบด้วย is_array(),
is_bool(), is_float() หรือ is_rea (), is_integer () หรือ is_int( ), is_null(), is_numeric(),
ั ั
is_object ( ), is_resource ( ), is_scalar ( ) และ is_string ( ) ทุกฟงก์ชนจะมีรูปแบบการ
ั ั
ใช้งานเหมือนกัน ประกอบด้วย ชื่อฟงก์ชนตรวจสอบ และในพารามิเตอร์ให้ใส่ตวแปรที่
ั
ต้องการตรวจสอบ หลังจากทีฟงก์ชนทาการตรวจสอบแล้วและมีการส่งค่ากลับเป็ น TRUE
่ ั ั
หากค่าของตัวแปรตรงกับชนิดข้อมูลทีตรวจสอบ หากไม่ตรงกับชนิดข้อมูลทีตรวจสอบจะ
่
่
ส่งค่ากลับเป็ น FALSE มีรปแบบ ดังนี้
ู
รูปแบบ
boolean is_name (mixed var) // เมื่อกาหนดให้ is_name แทนชื่อฟั งก์ชน
ั
ตรวจสอบ
เมื่อ $var หมายถึง ตัวแปรทีตองการตรวจสอบชนิด
่ ้
1
2
3
4
5
6
7
8
9
10
ั ั
ตัวอย่างที่ 2.24 ตัวอย่างการใช้ฟงก์ชน is_name ( ) เพือตรวจสอบชนิดของข้อมูล
่
<?php
if (is_int (23)) {
echo "is integer <br/>";
} else {
echo "is not an integer <br/>";
}
var_dump (is_int (23));
var_dump (is_int ("23"));
var_dump (is_int (23.5));
?>
26. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 26
ั
ผลลัพธ์
is integer
bool (true)
bool (false)
bool (false)
การแปลงชนิ ดข้อมูลโดยใช้ตวแปร
ั
การแปลงค่าของชนิดข้อมูลหนึ่งไปเป็ นชนิดข้อมูลอื่นๆ ได้นน จาเป็ นต้องรูถงชนิด
ั้
้ ึ
ของข้อมูลที่จะแปลงไป การแปลงค่าของชนิดข้อมูลสามารถทาได้โดยการวางชนิดที่
ต้องการแปลงไว้ในด้านหน้าของตัวแปรทีจะทาการแปลง สาหรับรายละเอียดของชนิดของ
่
ตัวแปลง แสดงในตารางที่ 2.2 มีรายละเอียด ดังต่อไปนี้
ตารางที่ 2.2 ตัวดาเนินการแปลงชนิดของข้อมูล (Type Casting Operators)
Cast Operators
Conversion
(array)
Array
(bool) or (boolean)
Boolean
(int) or (integer)
Integer
(int64) 64-bit
integer (introduced in PHP 6)
(object)
Object
(real) or (double) or
Float
(float)
String
(string)
1
2
3
4
ตัวอย่างที่ 2.25 ตัวอย่างการแปลงชนิดข้อมูล
$score = (double) 13; // ผลลัพธ์ทได้คอ $score = 13.0
่ี ื
$score = (int) 14.8; // ผลลัพธ์ คือ $score = 14
$sentence = "This is a sentence";
echo (int) $sentence; // ผลลัพธ์ คือ returns 0
27. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 27
ั
5
6
7
8
9
10
11
$score = 1114;
$scoreboard = (array) $score;
echo $scoreboard [0]; // ผลลัพธ์ทแสดงออกมา คือ 1114
่ี
$model = "Toyota";
$obj = (object) $model;
//ค่าของข้อมูลสามารถอ้างอิงได้ ดังนี้
print $obj -> scalar; // ผลลัพธ์ คือ returns "Toyota"
การปรับเปลี่ยนชนิ ดข้อมูลแบบอัตโนมัติ (Adapting Data types with Type
Juggling)
PHP ถูกออกแบบมาให้มความยืดหยุ่นสูง สามารถปรับเปลี่ยนค่าตัวแปรได้
ี
หลากหลายและทันท่วงที แบบอัตโนมัติหรือสามารถปรับเปลี่ยนชนิดของตัวแปรแบบ
อัตโนมัติ โดยจะระบบจะทาการพิจารณาความเหมาะสมกับสถานการณ์ทมการอ้างอิงตัว
่ี ี
แปร ตัวอย่างต่อไปนี้
ตัวอย่างที่ 2.26 การปรับเปลียนชนิดข้อมูลแบบอัตโนมัติ แบบที่ 1
่
1 <?php
2
$total = 5; // เป็ นชนิดตัวเลข integer
3
$count = "15"; // เป็ นชนิด string
4
$total += $count; // ผลลัพธ์ของการคานวณ คือ $total = 20 (เป็ นชนิด integer)
5 ?>
1
2
3
4
5
ตัวอย่างที่ 2.27 การปรับเปลียนชนิดข้อมูลแบบอัตโนมัติ แบบที่ 2
่
<?php
$total = "45 fire engines";
$incoming = 10;
$total = $incoming + $total; // ผลลัพธ์ คือ $total = 55
?>
28. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 28
ั
1
2
3
4
5
ตัวอย่างที่ 2.28 การปรับเปลียนชนิดข้อมูลแบบอัตโนมัติ แบบที่ 3
่
<?php
$val1 = "1.2e3"; // 1,200
$val2 = 2;
echo $val1 * $val2; // ผลลัพธ์ทแสดงออกมา คือ 2400
่ี
?>
6. ตัวดาเนิ นการ (Operators) และนิ พจน์ (Expressions)
ตัวดาเนินการ เป็ นสัญลักษณ์ทใช้กาหนดรูปแบบการประมวลผลข้อมูล ซึ่งแบ่งได้
่ี
หลายประเภท เช่น ตัวดาเนินการเกี่ยวกับการคานวณทางคณิตศาสตร์ การเปรียบเทียบ
และการประมวลผลทางด้านตรรกะ (Logic) เป็ นต้น
นิพจน์ คือ การกระทาเพื่อให้ได้ผลลัพธ์ค่าหนึ่งค่า ประกอบไปด้วยตัวถูกกระทา
(Operands) และตัวดาเนินการ (Operators) เขียนเรียงกันไป เช่น 3 * 2 - 1 + 7 หรือ a *
5 เป็ นต้น
ลาดับความสาคัญของตัวดาเนิ นการ
ลาดับความสาคัญของตัวดาเนินการนัน มีความสาคัญมากในการเขียนโปรแกรม
้
ซึ่งถ้าจัดลาดับผิด ก็อาจจะทาให้โปรแกรมของเกิดข้อผิดพลาด (bug) ได้ และบางทีจะทา
ให้หาจุดผิดพลาดนันๆ ยากด้วย ลาดับความสาคัญของตัวดาเนินการแต่ละตัวจะมี
้
ความสาคัญแตกต่างกันเป็ นทีแน่ นอนอยูแล้วว่า ลาดับความสาคัญสูงก็จะถูกทาก่อนลาดับ
่
่
ความสาคัญต่า ตัวอย่าง ดังนี้
ตัวอย่างที่ 2.29 แสดงนิพจน์และตัวดาเนินการ 2 + 4 * 3
จากตัวอย่าง ถ้าลองมาคานวณกันเองแล้ว ก็คงจะได้หลายๆ ค่าแตกต่างกันไป
เนื่องจากว่าไม่รู้ว่าจะนาตัวไหนมาคานวณกันก่อนหลัง จากตัวอย่างเครื่องหมายที่มี
ความสาคัญสูงคือเครื่องหมาย Multiply (*) หรือคูณนันเอง รองลงมา คือ Addition (+)
่
หรือบวก ซึ่งหมายความว่าจะทาการคานวณ 4 * 3 ก่อน แล้วค่อยนาผลลัพธ์น้ีไปบวก
กับ 2 ผลลัพธ์จงมีคาเท่ากับ 14
ึ ่
29. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 29
ั
ตัวอย่างที่ 2.30 แสดงนิพจน์และลาดับความสาของตัวดาเนินการ
(2 + 4) * 3
หรือ ขึนอยูกบว่าจะให้นิพจน์ใดคานวณก่อน-หลัง การคานวณจะเกิดขึนในวงเล็บ
้ ่ ั
้
ก่อนเสมอ
2 + (4 * 3)
พิจารณาตัวอย่าง
1/3*3
จากตัวอย่างเครื่องหมายคูณและหารจะมีลาดับความสาคัญเท่ากัน ในกรณีน้ี การ
คานวณจะเกิดขึนจากซ้ายไปขวาเสมอ คือ 1 / 3 ก่อน แล้วจึงนาผลลัพธ์ไปคูณกับ 3
้
คาตอบ คือ 1
1) ตัวดาเนิ นการสาหรับการกาหนดค่า (Assignment)
เป็ น ตัว ด าเนิ น การในการก าหนดค่ า ให้ก ับ ตัว แปรที่อ ยู่ท างด้า นซ้า ยของตัว
ดาเนินการ ด้วยค่าทีอยูทางขวาโดยประกอบด้วยตัวดาเนินการดังต่อไปนี้
่ ่
ตารางที่ 2.4 ตัวดาเนินการสาหรับการกาหนดค่า
=
กาหนดค่า เช่น
$x = 10;
+=
นาค่าทีกาหนดไปบวกเพิมจากค่าเดิมตัวแปร แล้วผลลัพธ์ทได้เก็บไว้ในตัว
่
่
่ี
แปรเดิม เช่น
$x = 10;
$x += 8; // $x = 18
-=
ลดค่าตัวแปรลงเท่ากับค่าทีระบุ เช่น
่
$x = 10;
$x -= 8; // $x = 2
30. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 30
ั
ตารางที่ 2.4 (ต่อ)
*=
/=
%=
.=
คูณค่าเดิมของตัวแปรด้วยค่าทีระบุ เช่น
่
$x = 10;
$x *= 8; // $x = 80
หารค่าเดิมของตัวแปรด้วยค่าทีระบุ เช่น
่
$x = 16;
$x /= 8; // $x = 2
นาค่าที่ระบุไปหารค่าเดิมของตัวแปร แต่จะเอาเฉพาะเศษจากการหาร
เท่านัน หรือเรียกว่าการหารแบบ Modulus เช่น
้
$x = 10;
$x %= 3; // $x = 1
ใช้ในการเชื่อมต่อข้อความโดยนาข้อความด้านขวามือไปต่อท้ายข้อความ
ด้านซ้ายมือ
$x = ‚PHP‛;
$x .= ‚/MySQL‛; // $x = ‚PHP/MySQL‛
2) ตัวดาเนิ นการสาหรับการคานวณ
ตัวดาเนินการทีใช้ในการคานวณทางคณิตศาสตร์ ซึ่งประกอบด้วยตัวดาเนินการ
่
ดังต่อไปนี้
ตารางที่ 2.5 ตัวดาเนินการทางคณิตศาสตร์
ตัวดาเนิ นการ
ชื่อ
ตัวอย่าง
ผลลัพธ์ตวอย่าง
ั
+
การบวก
10+3
13
การลบ
10-3
7
*
การคูณ
10*3
30
/
การหาร
10/3
3.3333333
%
มอดูโล
10*3
1
การหารเอาเศษ
31. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 31
ั
3) ตัวดาเนิ นการสาหรับเชื่อมต่อข้อความ (String Concatenation)
สาหรับใน PHP จะใช้เครื่องหมายจุด (.) ในการเชื่อมต่อข้อความ ตัวอย่างตัว
ดาเนินการสาหรับเชื่อมต่อข้อความ
1
2
3
4
5
6
7
8
ตัวอย่างที่ 2.31 การใช้เครื่องหมายจุด (.) ในการเชื่อมต่อข้อความ
<?php
$str = ‚My‛ . ‚SQL‛; // $str = ‚MySQL‛
echo ‚สมชาย‛ . ‚ ‛ . ‚พายเรือ‛; // สมชาย พายเรือ
$fname = ‚Parinya‛;
$lname = ‚Mai‛;
echo ‚My name is‛ . $fname . ‚ ‛ . $lname ; //My name is Parinya Mai
echo 1 . 2 . 3 ; //123
?>
4) ตัวดาเนิ นการสาหรับเพิ่ ม และลดค่า (Increment & Decrement)
ประกอบด้วยตัวดาเนินการดังต่อไปนี้
ตารางที่ 2.5 ตัวดาเนินการสาหรับเพิม และลดค่า
่
++ เป็ นการเพิมตัวแปรขึนไปอีก 1 เช่น
่
้
-- เป็ นการลดค่าตัวแปรลงอีก 1 เช่น
$x = 10;
$x = 10;
$x++; //$x = 11
$x--; //$x = 9
ข้อควรระวังเกี่ยวกับการใช้ตวดาเนิ นการ ++ และ -ั
การวางตัวดาเนินการ ++ หรือ -- ไว้ดานหน้า หรือหลังตัวแปร หากตัวแปรนันอยู่
้
้
เดียวๆ ค่าทีได้จะไม่ต่างกัน เช่น กรณีตวอย่างต่อไปนี้
่
่
ั
32. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 32
ั
ตัวอย่างที่ 2.32 ข้อควรระวังการวางตัวดาเนินการ ++ หรือ -- ไว้ดานหน้า หรือ
้
หลังตัวแปร
$x = 10;
$y = 10;
$x++; // $x = 11
++$y; // $y = 11
แต่หากนาไปใช้ในรูปแบบของนิพจน์ (Expression) หรือกระทากับค่าอื่นๆ ด้วย
ค่าทีได้อาจแตกต่างกันไป เช่น สองกรณีต่อไปนี้
่
ตัวอย่างที่ 2.33 การเปรียบเทียบรูปแบบของการใช้นิพจน์สองกรณี
$x = 10;
$x = 10;
$y = 20;
$y = 20;
$y += ++$x; // $x = 11, $y = 31
$y += $x++; // $x = 11, $y = 30
หากกาหนดแบบนี้ y จะมีคาเท่ากับ
่
หากกาหนดแบบนี้ y จะมีคาเท่ากับ
่
(20+1)+10=31 นันคือ จะเพิมค่า x ขึนไป 20+10=30 นันคือ จะนาค่า x เดิมไปบวก
่
่
้
่
อีก 1 ก่อนแล้วค่อยนาไปบวกกับ y
กับ y ก่อน แล้วค่อยเพิมค่า x ขึนไปอีก 1
่
้
ความจริงหลักการทีกล่าวมานี้ พิจารณาจากลาดับความสาคัญของตัวดาเนินการ
่
ตามทีจะกล่าวถึงในลาดับต่อไป
่
5) ตัวดาเนิ นการสาหรับการเปรียบเทียบ (Comparison)
ใช้ในการเปรียบเทียบหาค่าความจริงระหว่าง 2 นิพจน์ โดยผลลัพธ์ทได้จะเป็ นได้
่ี
เพียง true หรือ false อย่างใดอย่างหนึ่งเท่านัน โดยตัวดาเนินการในกลุมนี้ มีดงนี้
้
่
ั
33. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 33
ั
ตารางที่ 2.6 ตัวดาเนินการสาหรับการเปรียบเทียบ
< น้อยกว่า
== เท่ากัน
<= น้อยกว่า หรือเท่ากับ
=== เท่ากันทังหมดทังค่า และชนิดข้อมูล
้
้
> มากกว่า
!= ไม่เท่ากัน
=> มากกว่า หรือเท่ากับ
ตัวอย่างที่ 2.34 ตัวอย่างผลลักษณะการเปรียบเทียบ กรณีศกษาแบบที่ 1
ึ
$a = (10 <= 9); // $a = false เพราะ 10 > 9
$b = (10 == 10); // $b = true
$c = (10 == ‚10‛); // $c = true
$d = (10 === ‚10‛); // $d = false เพราะ 10 เป็ นตัวเลข ขณะที่ ‚10‛ ถือว่าเป็ นข้อความ
$e = (‚php‛ == ‚PHP‛); // $e = false เพราะลักษณะตัวพิมพ์ต่างกัน
6) ตัวดาเนิ นการสาหรับการเปรียบเทียบทางตรรกะ (Bitwise Operators)
การเปรียบเทียบทางตรรกะ (Logical) เป็ นการเปรียบเพื่อหาค่าความจริง
ระหว่าง 2 นิพจน์ เช่น หากพิสูจน์พจน์แรกเป็ นจริง และนิพจน์ทสองเป็ นเท็จ แล้วผลลัพธ์
่ี
จะออกมาเป็ นอย่างไร เป็ นต้น ซึงตัวดาเนินการในการเปรียบเทียบทางตรรกะมีดงต่อไปนี้
่
ั
34. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 34
ั
ตารางที่ 2.7 ตัวดาเนินการสาหรับการเปรียบเทียบทางตรรกะ
ตัวดาเนิ นการ
การเปรียบเทียบ
! หรือ not
!(true)
!(false)
&& หรือ and
true && true
true && false
false && false
|| หรือ or
true || true
true || false
false || false
^ หรือ xor
true ^ true
true ^ false
false ^ false
ผลลัพธ์
true
false
true
false
false
true
true
false
false
true
false
ตัวอย่างที่ 2.35 ตัวอย่างผลลักษณะการเปรียบเทียบ กรณีศกษาแบบที่ 2
ึ
$a = ! (1 = = 2); //$a = ! (false) => $a = true;
$b = (1 != 2) && (1>0); // $b = (true) && (true) => $b = true;
$c = (1 = = 2) && (1>0); // $c = (false) && (true) => $c = false;
$d = (1 = = 2) || (1>0); // $c = (false) || (true) => $d = true;
ลาดับความสาคัญของตัวดาเนิ นการ
ลาดับความสาคัญของตัวดาเนินการก็คอ ลาดับในการประมวลผลก่อนหลัง ซึ่งเป็ น
ื
สิงทีสาคัญมาก หากวางตาแหน่ ง หรือจัดกลุ่มไม่ถูกต้อง ผลลัพธ์ทได้อาจไม่ตรงตามที่
่ ่
่ี
ต้องการก็ได้ โดยลาดับความสาคัญของตัวดาเนินการมีดงนี้
ั
1. ( )
6. &&
2. ++, -- (วางไว้หน้าตัวแปร)
7. ||
3. *, /, %
8. =, +=, -=, /=, %=
4. +, 9. ++, -- (วางไว้หลังตัวแปร)
5. ==, !=
35. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 35
ั
ตัวอย่างที่ 2.36 ตัวดาเนินการที่มลาดับความสาคัญเท่ากัน ตัวทีมาก่อนจะถูก
ี
่
ประมวลผลก่อน
$a = 2*100/10; //$a = 20 เพราะ 100/10 = 10 => 2*10 = 20 หรือเท่ากับ 2*(100/10)
$b = 100/10%2; //$b = 0 เพราะ 100/10 = 10 => 10%2 เหลือเศษ 0 หรือเท่ากับ (100/10)%2
$c = 100%80*2; //$c = 40 เพราะ 100%80 เหลือเศษ20 => 20*2 = 40
$d = 100/10+30; //$d = 40 ซึงเท่ากับ (100/10)+30
่
$e = 2*100/10+30; //$e = 50 ซึงเท่ากับ (2*(100/10))+30
่
ในทางปฏิบตเพือหลีกเลียงข้อผิดพลาดจากลาดับความสาคัญของเครื่องหมาย ควร
ั ิ ่
่
ใช้วงเล็บในการจัดแบ่งกลุมให้ชดเจน
่
ั
7. ตัวแปรค่าคงที่ (Constants)
ตัวแปรค่าคงทีในภาษา PHP นันได้กาหนดวิธการประกาศตัวแปรค่าคงที่ โดยผ่าน
่
้
ี
ั ั
ฟงก์ชน define ( ) หรือใช้คยเวิรด const (ใช้ได้ตงแต่ PHP 5.3.0) เมื่อตัวแปรค่าคงทีถูก
ี ์ ์
ั้
่
กาหนดแล้ว จะไม่สามารถเปลียนหรือคืนค่าได้อกต่อไป สามารถรับค่าของค่าคงทีได้โดย
่
ี
่
ระบุช่อตัวแปรของค่าคงที่ ซึ่งจะแตกต่างจากการรับค่าตัวแปรทัวไป นันก็คอตัวแปร
ื
่
่ ื
ค่าคงทีไม่ต้องใช้เครื่องหมาย $ นาหน้าตัวแปรค่าคงที่ หรือว่าจะรับค่าของค่าคงทีผาน
่
่ ่
ั ั
ฟงก์ชน constant ( ) แต่ถามีช่อตัวแปรค่าคงทีทเปลียนแปลงตลอด นันจะไม่รว่ามีช่อตัว
้ ื
่ ่ี ่
้
ู้
ื
ั ั
แปรค่าคงทีใดบ้าง สามารถใช้ฟงก์ชน get_defined_constants ( ) เพื่อรับค่ารายการการ
่
ประกาศค่าคงทีทงหมด
่ ั้
รูปแบบ
boolean define ( string $name , mixed $value )
เมื่อ $name หมายถึง ชื่อของตัวแปรทีตองการกาหนดให้เป็ นตัวแปรค่าคงที่
่ ้
$value หมายถึง ค่าทีตองการกาหนด
่ ้
36. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 36
ั
1
2
3
4
5
6
ตัวอย่างที่ 2.37 การกาหนดตัวแปรค่าคงที่
<?php
define ("PI", 3.141592);
printf ("The value of pi is %f", PI); // The value of pi is 3.141592
$pi2 = 2 * PI;
printf ("Pi doubled equals %f", $pi2); // Pi doubled equals 6.283184
?>
ฝึ กปฏิ บติ
ั
ชื่อหน่ วยเรียน PHP 1
จุดประสงค์
1.
2.
3.
4.
นักศึกษาสามารถใช้ภาษา html เบืองต้นได้
้
นักศึกษาสามารถใช้ syntax php ได้
นักศึกษาสามารถใช้ variable ได้
นักศึกษาสามารถใช้คาสัง่ echo, print ได้
จงสร้างไฟล์นามสกุล php 1 ไฟล์ ซึงเมื่อแสดงบน browser แล้ว แสดง
่
ได้ดง รูปข้างล่าง
ั
ฝึกปฏิบติ
ั
37. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 37
ั
หน่ วยเรียน
PHP 2
ภาษา PHP
จุดประสงค์
1. นักศึกษาสามารถใช้ตวแปรแบบ string ได้
ั
2. นักศึกษาสามารถใช้ comment
จงสร้างไฟล์นามสกุล php 1 ไฟล์ ซึงเมื่อแสดงบน browser แล้ว แสดง
่
ได้ดง รูปข้างล่าง
ั
ฝึกปฏิบติ
ั
ชื่อหน่ วยเรียน PHP 3
จุดประสงค์
ฝึกปฏิบติ
ั
1. นักศึกษาสามารถใช้ Form ใน HTML ได้
2. นักศึกษาสามารถรับข้อมูลจาก Form และแสดงผลได้
จงสร้างรับข้อมูล ชื่อ นามสกุล และทีอยู่
่
ซึงเมื่อแสดงบน browser แล้ว แสดงได้ดง รูปที่ 1
่
ั
38. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 38
ั
รูปที่ 1
่
และเมื่อคลิกปุมส่งแล้ว ให้แสดงข้อมูล ชื่อ นามสกุล และทีอยู่ ตามทีได้
่
่
ป้อน เพือเป็ นการยืนยันว่า ที่ server ได้รบข้อมูลดังกล่าวถูกต้อง
่
ั
ครบถ้วนแล้ว
39. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 39
ั
บทที่ 3
การใช้งานฟอร์มกับ PHP
ฟอร์มทาหน้าทีในการติดต่อสื่อสารหรือโต้ตอบกับผูใช้เว็บไซต์ในลักษณะการรับส่ง
่
้
ข้อมูล เมื่อผูใช้กรอกข้อมูลในฟอร์มและคลิกปุ่มส่งข้อมูล ข้อมูลเหล่านันก็จะถูกส่งไป
้
้
ประมวลผลทีเซิรฟเวอร์ ฟอร์มจะประกอบไปด้วยอ็อบเจ็คต์ต่างๆ ซึ่งแต่ละอ็อบเจ็คต์ก็มี
่ ์
ลักษณะการโต้ตอบกับผู้ใช้แตกต่างกันไป รายละเอียดการทางานแต่ละอ็อบเจ็คต์จะ
กล่าวถึงในลาดับต่อไป นอกจากนันภายในแท็กฟอร์มยังมีพารามิเตอร์ท่เราสามารถ
้
ี
กาหนดค่าเป็ นการระบุให้ส่งค่าไปยังไฟล์สคริปต์บนเซิรฟเวอร์หรือโปรแกรมอื่นๆ เพื่อทา
์
หน้าทีประมวลผลข้อมูลทีถูกส่งมากับฟอร์มได้อกด้วย
่
่
ี
รูปแสดงการทางานของฟอร์ม
40. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 40
ั
วิ ธีการทางานของฟอร์ม
จากรูปด้านบน แสดงวิธการทางานของฟอร์มดังนี้
ี
่
1) เริมต้นเมื่อผูใช้กรอกแบบฟอร์มบนเว็บเพจและคลิกปุมส่งข้อมูลมาทีเว็บ
่
้
่
เซิรฟเวอร์
์
2) ข้อมูลจากฟอร์มจะถูกประมวลผลทีไฟล์ PHP, ASP หรือไฟล์ CGI อื่นๆบนเว็บ
่
เซิรฟเวอร์
์
3) เมื่อประมวลผลเสร็จแล้ว ผลลัพธ์จะถูกส่งกลับไปให้ผูใช้ในรูปแบบเอกสาร
้
HTML เพือให้เว็บเบราเซอร์แสดงผล
่
การสร้างและใช้งานฟอร์มกับ PHP
ขันตอนการสร้างฟอร์ม:
้
1. เริมต้นทีโปรแกรม Dreamweaver คลิกเมนู File > New จะปรากฏไดอะล็อก
่
่
่
New Document ขึนมา ให้คลิก HTML หลังจากนันคลิกปุม Create บันทึกเป็ นไฟล์
้
้
form.php
2. ทีหน้าจอของเว็บเพจ ให้คลิกเพือวางเคอร์เซอร์ในตาแหน่ งทีตองการสร้างฟอร์ม
่
่
่ ้
หลังจากนันคลิกทีเมนู Insert > Form > Form ฟอร์มจะถูกแทรกลงในเว็บเพจ หากอยูใน
้
่
่
Design View จะเห็นขอบเขตของฟอร์มแสดงเป็ นเส้นประสีแดง (หากไม่มเส้นประสีแสดง
ี
ขึนมา ให้คลิกทีเมนู View > Visual Aids > Invisible Elements)
้
่
รูปแสดงเว็บเพจทีแทรกฟอร์ม
่
รูปแบบของฟอร์ม
<form name = ชื่อฟอร์ม method = วิธการส่งข้อมูล action = ไฟล์ทรบข้อมูล
ี
่ี ั
จากฟอร์ม
</form>
41. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 41
ั
3. คลิกวางตาแหน่ งเคอร์เซอร์ลงภายในขอบเขตของฟอร์ม หลังจากนันให้คลิก
้
เลือกแท็ก <form> จาก Tag Selector บริเวณขอบล่างซ้ายของเว็บเพจ เมื่อปรากฏ
ไดอะล็อก Properties ช่อง Form Name ให้กาหนดชื่อของฟอร์ม เท่ากับ fmProcess ชื่อ
ของฟอร์มนี้จะถูกใช้เพืออ้างอิงในสคริปต์ PHP
่
รูปแสดง Property ของฟอร์ม
4. ไดอะล็อก Properties ช่อง Action ให้กาหนดชื่อไฟล์ หรือ URL ของสคริปต์ทจะ
่ี
ใช้ในการประมวลผลฟอร์ม เท่ากับ formprocess.php (หากต้องการระบุเป็ น URL ให้
พิมพ์เป็ น http://localhost/person/formprocess.php)
5. ไดอะล็อก Properties ช่อง Method ให้เลือกรูปแบบการส่งข้อมูลจากฟอร์มไปที่
เว็บเซิรฟเวอร์ ซึงมีให้เลือก 3 รูปแบบ คือ
์
่
การทางานของ METHOD:
“ POST ส่งข้อมูลโดยส่งข้อมูลส่งไปกับ HTTP Request
“ GET ส่งข้อมูลโดยการแปะค่าเป็ น URL Parameter (Query String) ไปกับ URL
(ข้อมูลทีสงจะแสดงอยูบนURL ของเว็บเบราเซอร์)
่่
่
“ DEFAULT ส่งข้อมูลโดยขึนอยูกบค่า default ของเว็บเบราเซอร์ โดยปกติจะเป็ น
้ ่ ั
แบบ GET
NOTE: วิธการส่งข้อมูลแบบ GET ไม่ควรใช้กบฟอร์มทีมการส่งข้อมูลจานวนมาก รวมทัง
ี
ั
่ ี
้
ไม่ควรใช้ในการส่งข้อมูลทีเป็ นความลับ เช่น username, password หรือเลขทีบตรเครดิต
่
่ ั
เป็ นต้น เนื่องจากวิธการส่งแบบ GET นี้ ข้อมูลที่เราส่งจะถูกแสดงบน URL เช่น
ี
http://localhost/person/detail.php?emp_id=01020489
42. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 42
ั
6. ไดอะล็อก Properties ช่อง Enctype ให้ระบุชนิดของการเข้ารหัสข้อมูล โดยค่า
default ของ Enctype จะเป็ น application/x-www-form-urlencode ซึ่งจะถูกใช้ร่วมกับ
method แบบ POST หากใช้ฟอร์มในการอัปโหลดไฟล์ ให้เลือก Enctype เป็ นแบบ
multipart/form-data
7. ไดอะล็อก Properties ช่อง Target ให้พมพ์ช่อหน้าจอของเว็บเบราเซอร์ท่ี
ิ ื
ต้องการแสดงผลลัพธ์ของฟอร์มหรือเลือกจากรายการทีกาหนดไว้ให้ หากเว็บเบราเซอร์ยง
่
ั
ไม่มช่อหน้าจอทีระบุ เว็บเบราเซอร์จะสร้างหน้าจอชื่อทีระบุขนมาใหม่ ตัวเลือกทีกาหนดไว้
ี ื
่
่
้ึ
่
ให้ในช่อง Target
การทางานของ TARGET:
“ _blank ผลลัพธ์ของฟอร์มจะแสดงทีหน้าจอเว็บเบราเซอร์ทสร้างขึนมาใหม่
่
่ี
้
“ _parent ผลลัพธ์ของฟอร์มจะแสดงทีหน้าจอหลัก (parent) ของหน้าจอเว็บเบรา
่
เซอร์ขณะนัน
้
“ _self ผลลัพธ์จะแสดงทีหน้าจอเว็บเบราเซอร์เดียวกับฟอร์ม
่
“ _top ผลลัพธ์ของฟอร์มจะแสดงที่หน้าจอหลัก ในกรณีทหน้าจอเว็บเบราเซอร์
่ี
แบ่งเป็ นหลายเฟรม
่
8. คลิกปุม Code View เพื่อเขียนโค้ด HTML ดังรูปด้านล่าง หลังจากนันบันทึก
้
ไฟล์ form.php
1
2
3
4
5
6
7
8
<html>
<body>
<form action="formprocess.php" method="post" name="fmProcess">
ชื่อ: <input name="firstname" type="text" size="32" maxlength="30">
<br>
นามสกุล: <input name="lastname" type="text" size="32"
maxlength="30">
43. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 43
ั
9
<br>
10 <input name="btnSubmit" type="submit" value="ตกลง">
11 <input name="btnReset" type="reset" value="ยกเลิก">
12 </form>
13
14 </body>
</html>
รูปแสดงโค้ดไฟล์ form.php
จากรูป ชื่อฟอร์ม (name) กาหนดเป็ น fmProcess , ส่วน action กาหนดเป็ น
formprocess.php หมายถึงหลังจากทีกดปุม Submit แล้วให้เรียกไฟล์ช่อ
่ ่
ื
formprocess.php วิธการส่งฟอร์ม (method) กาหนดเป็ น post
ี
9. เปิ ดโปรแกรม Dreamweaver คลิกเมนู File > New จะปรากฏไดอะล็อก New
่
Document ขึนมา ให้คลิก PHP คลิกปุม Create หลังจากนันให้เพื่อเขียนโค้ด PHP ดังรูป
้
้
ด้านล่าง บันทึกเป็ นไฟล์ formprocess.php
1 <html>
2 <body>
3
4 <?php
5
echo "ชื่อ: " . $_POST['firstname'] . "<br>";
6
echo "นามสกุล: " . $_POST['lastname'] . "<br>";
7 ?>
8
9
</body>
</html>
รูปแสดงโค้ดไฟล์ formprocess.php
44. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 44
ั
10. ทดสอบการทางานของฟอร์ม โดยเปิ ด Dreamweaver ไปทีหน้าจอไฟล์
่
่
form.php หลังจากนันกดปุม F12 จะปรากฏหน้าจอ Internet Explorer เป็ นแบบฟอร์ม
้
่
กรอกข้อมูล ให้กรอกข้อมูล แล้วคลิกปุม "บันทึก" ให้สงเกตผลลัพธ์การทางานของเว็บ
ั
เพจ
รูปแสดงการทางานของไฟล์ form.php
รูปแสดงการทางานของไฟล์ formprocess.php
11. เปลียน METHOD ของฟอร์มในไฟล์ form.php จาก METHOD="POST"
่
เป็ น METHOD="GET"
12. เปลียนชื่อตัวแปรในไฟล์ formprocess.php จาก $_POST['firstname’] เป็ น
่
$_GET['firstname'] และ $_POST['lastname'] เป็ น $_GET['lastname']
45. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 45
ั
13. ทดสอบการทางานของฟอร์มใหม่อกครัง ให้สงเกตผลลัพธ์การทางานของเว็บ
ี ้
ั
เพจ
การใช้งานอ็อบเจ็คต์ของฟอร์มชนิ ดต่างๆ
อ็อบเจ็คต์ คือส่วนของฟอร์มทีใช้ในการรับข้อมูลจากผูใช้ ก่อนทีจะแทรกอ็อบเจ็คต์
่
้
่
ลงบนเว็บเพจ ต้องมีการสร้างหรือแทรกฟอร์มลงในเว็บเพจก่อนเสมอ หากมีการแทรกอ็อบ
เจ็คต์ลงในส่วนทีไม่มฟอร์ม Dreamweaver จะถามโดยปรากฏไดอะล็อก ‚Add form
่ ี
tags?‛ ให้เลือก Yes เพื่อให้ Dreamweaver สร้างแท็กฟอร์มสาหรับอ็อบเจ็คต์นน การ
ั้
เรียกใช้ออบเจ็คต์โดยเลือกเมนู Window > Insert > form
็
รูปแสดงฟอร์มและอ็อบเจ็คต์
การใช้งานอ็อบเจ็คต์ Text Field
อ็อบเจ็คต์ชนิด Text Field จะมีหน้าทีในการรับค่าข้อมูล เพือใช้ในการจัดเก็บข้อมูล
่
่
หรือส่งค่าบางอย่างทีตองการค้นหา เช่น ใช้ในการค้นหาข้อมูล (Search Engine) เป็ นต้น
่ ้
วิธการสร้าง Text Field ทาได้โดยการคลิกเมนู Insert > Form > Text Field เสร็จ
ี
แล้วให้กาหนดคุณสมบัตของ Text Field โดยให้คลิกเลือกที่ Text Field ในเว็บเพจ
ิ
หลังจากนันให้ไปทีเมนู Window > Properties จะปรากฏคุณสมบัตของ Text Field แสดง
้
่
ิ
ในไดอะล็อก Properties
46. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 46
ั
รูปแสดง Property ของอ็อบเจ็คต์ Text Field แบบ Single line
คุณสมบัติของอ็อบเจ็คต์ Text Field:
“ TextField กาหนดชื่อของอ็อบเจ็คต์ Text Field
“ Char Width กาหนดความกว้างของ Text Field
“ Max Chars กาหนดจานวนตัวอักษรสูงสุดทีกรอกข้อมูลได้ของ Text Field
่
“ Type กาหนดชนิดของ Text Field มี 3 ลักษณะ คือ
o Single Line กาหนดให้แสดงเป็ นแบบบรรทัด (Textarea)
o Multi Line กาหนดให้แสดงเป็ นแบบหลายบรรทัด
o Password กาหนดให้แสดงแบบรหัสผ่าน
“ Init Val กาหนดค่าเริมต้น
่
รูปแสดงการใช้งานอ็อบเจ็คต์ Text Field
47. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 47
ั
จากโปรแกรม
1 <html>
2 <body>
3
4 <form action="formprocess.php" method="post" name="fmProcess">
5
ชื่อ: <input name="firstname" type="text" size="32" maxlength="30">
6
<br>
7
นามสกุล: <input name="lastname" type="text" size="32"
8 maxlength="30">
9
<br>
10 <input name="btnSubmit" type="submit" value="ตกลง">
11 <input name="btnReset" type="reset" value="ยกเลิก">
12 </form>
13
14 </body>
</html>
คาสังทีอยูในฟอร์มคือ
่ ่ ่
<input name = ‚firstname‛ type = ‚text‛ > เป็นการกาหนดช่องรับข้อมูลโดยใช้
text field เมื่อป้อนข้อมูลแล้ว จะเก็บไว้ทตวแปรชือ firstname
่ี ั
่
<input name = ‚lastname‛ type =‛test‛> เป็ นการกาหนดช่องรับข้อมูลโดยใช้
text field เมื่อป้อนข้อมูลแล้ว จะเก็บไว้ทตวแปรชือ lastname
่ี ั
่
การใช้งานอ็อบเจ็คต์ Textarea
อ็อบเจ็คต์ชนิด Textarea จะมีหน้าทีในการรับค่าข้อมูลทีมขนาดใหญ่ เช่น ทีอยู่
่
่ ี
่
เป็ นต้น
วิธการสร้าง Text Field ทาได้โดยการคลิกเมนู Insert > Form > Textarea เสร็จ
ี
แล้วให้กาหนดคุณสมบัตของ Textarea โดยให้คลิกเลือกที่ Textarea ในเว็บเพจ หลังจาก
ิ
48. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 48
ั
นันให้ไปที่เมนู Window > Properties จะปรากฏคุณสมบัตของ Textarea แสดงใน
้
ิ
ไดอะล็อก Properties
รูปแสดง Property ของอ็อบเจ็คต์ Textarea
คุณสมบัติของอ็อบเจ็คต์ Textarea:
“ TextField กาหนดชื่อของอ็อบเจ็คต์ Textarea
“ Char Width กาหนดความกว้างของ Textarea
“ Max Chars กาหนดจานวนตัวอักษรสูงสุดทีกรอกข้อมูลได้ของ Textarea
่
“ Type กาหนดชนิดของ Textarea คือ Multi Line
“ Init Val กาหนดค่าเริมต้น
่
รูปแบบ
<textarea name = ชื่อของ textarea>
</textarea>
ตัวอย่าง
1 form action="" method="post" name="fmProcess" id="fmProcess">
2 ชื่อ: <input name="firstname" type="text">
3 <br>
4 นามสกุล: <input name="lastname" type="text">
5 <br>
6 ทีอยู:่ <textarea name="address" cols="60" rows="5"></textarea>
่
7 </form>
49. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 49
ั
รูปแสดงการใช้งานอ็อบเจ็คต์ Textarea
การใช้งานอ็อบเจ็คต์ Button
อ็อบเจ็คต์ชนิด Button มักถูกนามาใช้เพื่อทาหน้าที่ในการยืนยันการเพิมข้อมูล
่
แก้ไขข้อมูล การลบข้อมูล หรือยกเลิกการใช้งาน
วิธการสร้าง Button ทาได้โดยการคลิกเมนู Insert > Form > Button เสร็จแล้วให้
ี
กาหนดคุณสมบัตของ Button โดยให้คลิกเลือกที่ Button ในเว็บเพจ หลังจากนันให้ไปที่
ิ
้
เมนู Window > Properties จะปรากฏคุณสมบัตของ Button แสดงในไดอะล็อก
ิ
Properties
รูปแสดง Property ของอ็อบเจ็คต์ Button
คุณสมบัติของอ็อบเจ็คต์ Button:
“ Button name กาหนดชื่อของอ็อบเจ็คต์ Button
่
“ Label กาหนดข้อความทีจะแสดงบนปุม Button
่
“ Action กาหนดชนิดของ Action มี 3 ลักษณะ คือ
50. เอกสารฝึ กปฏิบติ การเขียนโปรแกรมบนเว็บ หน้ า 50
ั
o Submit Form กาหนดให้ใช้สาหรับส่งฟอร์มไปประมวลผล
o Reset Form กาหนดให้ใช้สาหรับยกเลิกการกรอกข้อมูลในฟอร์ม
่ ่
o None กาหนดให้เป็ นปุมทีคลิกแล้วไม่ทางานใดๆ
รูปแบบ
่
่
่
<input type ‚Submit‛ name = ชื่อปุม value = ข้อความบนปุม > ปุมประเภทส่งข้อมูล
่
่
่
<input type ‚reset‛ name = ชื่อปุม value = ข้อความบนปุม > ปุมประเภทยกเลิก
่
่
่
<input type ‚button‛ name = ชื่อปุม value = ข้อความบนปุม > ปุมประเภทธรรมดา
1 <form action="" method="post" name="fmProcess" id="fmProcess">
2 <input name="btnSubmit" type="submit" id="btnSubmit"
3 value="บันทึก">
4 <input name="btnReset" type="reset" id="btnReset"
value="ยกเลิก">
</form>
รูปแสดงการใช้งานอ็อบเจ็คต์ Button