Introduction to PHP

Download Report

Transcript Introduction to PHP

Web Development
MIDTERM 50%
• Week1
• Introduction to Web development
• HTML
• CSS
• Basic PHP
• Week2-3
• Basic database Design
• HTML form and Javascript
• PHP & Database
• Week4
• JQuery
• AJAX
Web Development
FINAL 50%
• Week5-6
• Web Services
• XML
• Web Service Client
• Web Service Server
• Web2.0 Mashup
• Week7
• PHP template with Smarty
เกณฑ์การประเมิน
ช่ วงคะแนน
เกรด
80-100
75-79
70-74
65-69
A
B+
60-64
55-59
50-54
C
D+
D
0-49
F
B
C+
MIDTERM 50%
• Quiz + Assignment
15%
• Lab exams
15 %
• Lecture exams
20%
TOTAL
50%
BASIC PHP
อ.วิวฒ
ั น์ ศรี ภมู ิ
สาขาวิชาเทคโนโลยีสารสนเทศและการสื่อสาร
คณะวิทยาการสารสนเทศ
มหาวิทยาลัยมหาสารคาม
กลไกการทางานของเว็บเพจและ ไฟล์ PHP
• รู ปแบบทั่วไป กลไกการทางานของเว็บเพจทัว่ ๆ ไปที่เป็ นภาษา HTML นันเมื
้ ่อเราเปิ ดเว็บ
บราวเซอร์ โปรแกรมเว็บบราวเซอร์ ของเราก็จะร้ องขอไปยังเว็บเซิร์ฟเวอร์ เว็บเซิร์ฟเวอร์ ก็จะส่งไฟล์
เว็บเพจ HTML กลับมา แสดงผลบนหน้ าจอเว็บเซิร์ฟเวอร์ ของเรา
1. ผู้ใช้ ร้องขอไฟล์ html
จากเว็บเซิร์ฟเวอร์
2. เว็บเซิร์ฟเวอร์ ส่งไฟล์ html กลับมา
กลไกการทางานของเว็บเพจและ ไฟล์ PHP
• รู ปแบบที่ใช้ PHP เมื่อเราเปิ ดเว็บบราวเซอร์ โปรแกรมเว็บบราวเซอร์ จะร้ องขอไฟล์ PHP ไปยัง
เว็บเซิร์ฟเวอร์ ยงั เว็บเซิร์ฟเวอร์ ก็จะเรี ยก PHP engine ขึ ้นมาแปลไฟล์ PHP และติดต่อกับ
ฐานข้ อมูล แล้ วส่งผลลัพธ์ที่ได้ จากการแปลและประมวลผลเป็ น ภาษา HTML ทังหมดกลั
้
บไปยัง
เว็บบราวเซอร์ ให้ ผ้ ใู ช้
2. เว็บเซิร์ฟเวอร์ ประมวลผลไฟล์ php และ
อาจจะเรียกใช้ Database server
1. ผู้ใช้ ร้องขอไฟล์ php จากเว็บเซิร์ฟเวอร์
scripts PHP
3. เว็บเซิร์ฟเวอร์ ส่งไฟล์ html กลับมา
ความสามารถของ PHP
• ความสามารถพืน้ ฐาน
• สร้ างฟอร์ มโต้ ตอบ หรื อรับ-ส่งข้ อมูลกับผู้ใช้ ได้
• แทรกโค้ ด php เข้ าไประหว่างโค้ ดภาษา html ได้ ทนั ที
• มีฟังก์ชนั สนับสนุนการทางานต่าง ๆ เช่นเดียวกับภาษาขั ้นสูงโดยทัว่ ๆ ไป
• ความสามารถในการติดต่ อกับฐานข้ อมูล
• สามารถรองรับการใช้ งานฐานข้ อมูลได้ มากมาย เช่น Access, dBase, ExpressInformix,
mySQL, Oracle, SQLServer เป็ นต้ น ในวิชานี ้เราจะกล่าวถึงการใช้ งาน php กับ ฐานข้ อมูล
mySQL เนื่องจากเป็ นฐานข้ อมูลที่ใช้ งานได้ ง่าย และได้ รับความนิยมใช้ งานร่ วมกับ php มากที่สดุ
• ความสามารถขัน
้ สูง
• สนับสนุนการติดต่อกับโปรโตคอลได้ หลากหลาย
• สามารถทางานกับฮาร์ ดแวร์ ได้ ทกุ ระดับ
ลักษณะเด่นของ PHP
• ใช้ ได้ ฟรี
เป็ นโปรแกรมรันฝั่ งเซิร์ฟเวอร์ (server side script) ดังนันขี
้ ดความสามารถไม่จากัด
PHP รันบนระบบปฏิบต
ั ิการ UNIX,Linux,Windows ได้ หมด
เรี ยนรู้ง่าย เนื่องจาก PHP ฝั่ งเข้ าไปใน HTML และใช้ โครงสร้ างและไวยากรณ์ภาษาง่ายๆ
เร็วและมีประสิทธิภาพ
ใช้ ร่วมกับ XML ได้ ทนั ที
ใช้ กบั ระบบแฟ้มข้ อมูลได้
ใช้ กบั ข้ อมูลตัวอักษรได้ อย่างมีประสิทธิภาพ
ใช้ กบั โครงสร้ างข้ อมูลใช้ ได้ แบบ Scalar,Array,Associative array
ใช้ กบั การประมวลผลภาพได้
• PHP
•
•
•
•
•
•
•
องค์ประกอบของการเขียนสคริ ปต์ PHP
• Server
• Client
• Web Server Software
• Text Editor Software
• PHP Script Language
• Database Server Software
• Database Manager Software
AppServ
• AppServ เป็ นโปรแกรมสาหรับจาลองให้ เครื่ องคอมพิวเตอร์ ทวั่ ไปเป็ น เซิร์ฟเวอร์
• AppServ ประกอบด้ วย
• PHP Script Language
• Apache Web Server
• MySQL Database
• phpMyAdmin Database Manager
สามารถดาวน์โหลดชุดโปรแกรม AppServ ได้ จาก www.appservnetwork.com
ทดสอบการทางานสคริ ปต์ PHP
• ให้ นิสิตลองพิมพ์คาสัง่ ดังต่อไปนี ้ ใน Text Editor ตัวใดก็ได้ เช่น Notepad หรื อ Edit
plus
ผลลัพธ์ ทีไ่ ด้
• บันทึกไฟล์เป็ นชื่ออะไรก็ได้ และนามสกุลเป็ น .php เช่น test.php เป็ นต้ น ไว้ ใน
\Appserv\www
• เปิ ดโปรแกรมบราวเซอร์ แล้ วพิมพ์ “http://localhost/test.php”
VARIABLE AND OPERATOR
อ.วิวฒ
ั น์ ศรี ภมู ิ
สาขาวิชาเทคโนโลยีสารสนเทศและการสื่อสาร
คณะวิทยาการสารสนเทศ
มหาวิทยาลัยมหาสารคาม
การใช้ งานข้ อมูล ตัวแปร และ ตัวดาเนินการ
• เราอาจแบ่ งชนิดข้ อมูลและตัวแปรได้ 3 กลุ่มหลัก ๆ
• ชนิดข้ อมูลและตัวแปรแบบค่ าเดียว เป็ นตัวแปรที่เก็บข้ อมูลได้ เพียงตัวเดียวเท่านัน้ ซึง่
ประกอบด้ วย
• ข้ อมูลชนิดกลุม่ อักขระ (String)
• ข้ อมูลชนิดตรรกะ (Boolean)
• ข้ อมูลชนิดจานวนเต็ม (Integer)
• ข้ อมูลชนิดเลขทศนิยม (Floating-Point Number)
• ชนิดของข้ อมูลและตัวแปรแบบหลายค่ า เป็ นข้ อมูลที่เก็บได้ เป็ นชุด ๆ โดยในชุดเดียวกัน
อาจจะเป็ นชนิดเดียวกันทังหมด
้
หรื อต่างชนิดกันก็ได้
• ชนิดของข้ อมูลและตัวแปรแบบพิเศษ เป็ นตัวแปรที่แตกต่างจากชนิดอื่น การใช้ งานอาจ
ต้ องใช้ กบั ฟั งก์ชนั ขันสู
้ ง หรื ออาจเป็ นตัวแปรที่ไม่มีค่า
การประกาศตัวแปร
• ก่อนที่จะใช้ งานตัวแปรเราต้ องประกาศตัวแปร (Variable Declaration) ให้ PHP engine
ทราบเสียก่อนโดยการประกาศตัวแปรในภาษา PHP นันจะขึ
้
้นต้ นด้ วยเครื่ องหมาย $ (Dollar
sign) ตามด้ วยชื่อของตัวแปร (ถ้ าต้ องการกาหนดค่าให้ กบ
ั ตัวแปรทันทีที่ประกาศ ก็ให้ ต่อด้ วย
เครื่ องหมายเท่ากับและค่าของตัวแปร)
รูปแบบการประกาศตัวแปร
$ชื่อตัวแปร = ค่าตัวแปร;
การประกาศตัวแปร
การประกาศตัวแปร
กฎการตังชื
้ ่อตัวแปร
1. ต้ องขึ ้นต้ นด้ วยตัวอักษร หรื อ _ (Underscore) เท่านัน้ (ใช้ ตวั อักษร
ได้ ทงไทย
ั ้ และอังกฤษ)
2. ตังแต่
้ ตวั ที่สองเป็ นต้ นไป ต้ องเป็ นเหมือนข้ อ 1 และสามารถมีตวั เลข
(0-9) ได้
3. ห้ ามมีสญ
ั ลักษณ์พิเศษในชื่อตัวแปร
**
การใช้ อกั ษรพิมพ์ใหญ่ กับอักษรพิมพ์เล็ก แม้ จะสื่อถึงคาเดียวกันแต่จะ
ถือว่าเป็ นตัวแปรคนละตัว ทางเทคนิคเรี ยกว่า “Case-Sensitive”
ตรวจสอบการกาหนดค่าตัวแปรด้ วยฟั งก์ชนั isset
• หากฟั งก์ชนั isset คืนค่าเป็ น
• true แสดงว่ามีการกาหนดค่าให้ กบ
ั ตัวแปรแล้ ว
• false แสดงว่ายังไม่มีการกาหนดค่าให้ กบ
ั ตัวแปร
รูปแบบการใช้ งานฟั งก์ ชัน isset
isset(ชื่อตัวแปร);
ตรวจสอบการกาหนดค่าตัวแปรด้ วยฟั งก์ชนั isset
การยกเลิกหรื อทาลายตัวแปรด้ วยฟั งก์ชนั unset
• เนื่องจากทรัพยากรของระบบมีจากัด แม้ วา่ จะทางานบนเซิร์ฟเวอร์ ที่มี
ความสามารถสูง แต่ถ้ามีผ้ ใู ช้ งานจานวนมาก ๆ ทรัพยากรของระบบก็จะลดน้ อยลง
ส่งผลให้ การทางานโดยรวมช้ าลง
• เมื่อเราไม่ใช้ ตวั แปรใด ๆ แล้ วควรจะทาลายตัวแปรนัน้ แล้ วคืนทรัพยากรให้ กบ
ั ระบบ
ด้ วยฟั งก์ชนั unset
รูปแบบการใช้ งานฟั งก์ ชัน unset
unset($ชื่อตัวแปร)
การยกเลิกหรื อทาลายตัวแปรด้ วยฟั งก์ชนั unset
การตรวจสอบชนิดตัวแปรด้ วยฟั งก์ชนั gettype
• การใช้ งานตัวแปรใน PHP นันส่
้ วนใหญ่ไม่ได้ ระบุชนิดของตัวแปรเอาไว้
บางครัง้ เราควรตรวจสอบชนิดของตัวแปรก่อนเพื่อที่จะนาไปใช้ ได้ อย่าง
เหมาะสม
รู ปแบบการใช้ งานฟั งก์ ชัน gettype
gettype($ชื่อตัวแปร)
การตรวจสอบชนิดตัวแปรด้ วยฟั งก์ชนั gettype
ตัวดาเนินการ (Operator)
• ตัวดาเนินการทางคณิตศาสตร์ (Arithmetic Operator)
• ตัวดาเนินการทางตรรกะ (Logical Operator)
• ตัวดาเนินการเปรี ยบเทียบ (Relational Operator)
• ตัวดาเนินการระดับบิต (Bitwise Operator)
• ตัวดาเนินการเชิงข้ อความ (String Operator)
ตัวดาเนินการทางคณิตศาสตร์
ตัวดาเนินการ
ชื่อ
หน้ าที่
ตัวอย่ าง
+
Addition
การบวก
$x + $y
-
Subtraction
การลบตัวเลข
$x - $y
*
Multiplication
การคูณ
$x *
/
Division
การหาร
$x / $y
%
Modulus
การหารเอาเฉพาะเศษ
$x % $y
++
Increment
การเพิ่มค่าตัวแปรทีละ 1
++$x หรื อ $x++
--
Decrement
การลดค่าตัวแปรทีละ 1
--$x หรื อ $x--
=
Assignment
การกาหนดค่าให้ กบั ตัวแปร โดยให้ ค่า
ทางขวาเท่ากับค่าทางซ้ าย
$x = $y
+=
Add and Assignment
กาหนดให้ ตวั แปรซ้ ายมือมีค่าเท่ากับตัวแปร
ด้ านซ้ ายบวกด้ วยตัวแปรด้ านขวา
$x+=$y
-=
Sub and Assignment
กาหนดให้ ตวั แปรซ้ ายมือมีค่าเท่ากับตัวแปร
ด้ านซ้ ายลบด้ วยตัวแปรด้ านขวา
$x-=$y
$y
ตัวดาเนินการทางคณิตศาสตร์
ตัวดาเนินการทางตรรกะ
ตัวดาเนินการ
ชื่อ
หน้ าที่
ตัวอย่ าง
And หรื อ &&
And
เปรี ยบเทียบซ้ ายขวาต้ องเป็ นจริงทังคู
้ ่จงึ จะ
ให้ ผลลัพธ์เป็ นจริง
$x And $y
$x && $y
Or หรื อ ||
Or
เปรี ยบเทียบซ้ ายขวา ต้ องเป็ นเท็จทังคู
้ ่จงึ จะ
ให้ ผลลัพธ์เป็ นเท็จ
$x Or $y
$x || $y
Exclusive
or
เปรี ยบเทียบซ้ ายขวาต้ องเหมือนกันจึงจะให้
ผลลัพธ์เป็ นจริง
$x Xor $y
Not
เปลี่ยนให้ เป็ นค่าความจริงที่ตรงกันข้ าม
!$x
Xor
!
** ตัวแปร $x และ $y ในตัวอย่ างต้ องเป็ นชนิด boolean
ตัวดาเนินการทางตรรกะ
ตัวดาเนินการเปรี ยบเทียบ
ตัวดาเนินการ
ชื่อ
หน้ าที่
ตัวอย่ าง
เท่ากับ
เปรี ยบเทียบความเท่ากัน
===
เหมือนกัน
เปรี ยบเทียบความเท่ากัน และต้ องเป็ นข้ อมูลเดียวกัน
$x === $y
(ใช้ กบ
ั php เวอร์ ชนั 4 ขึ ้นไป)
!= หรื อ <>
ไม่เท่ากับ
เปรี ยบเทียบความไม่เท่ากัน
ไม่เหมือนกับ
เปรี ยบเทียบความไม่เท่ากัน และต้ องเป็ นข้ อมูลคนละ
$x !== $y
ชนิดกัน (ใช้ กบั php เวอร์ ชนั 4 ขึ ้นไป)
<
น้ อยกว่า
เปรี ยบเทียบความน้ อยกว่า
$x < $y
>
มากกว่า
เปรี ยบเทียบความมากกว่า
$x > $y
<=
น้ อยกว่าเท่ากับ
เปรี ยบเทียบความน้ อยกว่าหรื อเท่ากัน
$x <= $y
>=
มากกว่าเท่ากับ
เปรี ยบเทียบความมากกว่าหรื อเท่ากัน
$x >= $y
==
!==
$x == $y
$x != $y
$x <> $y
** ผลลัพธ์ ท่ ีได้ จากตัวดาเนินการเปรี ยบเทียบ จะเป็ นค่ าตรรกะ คือ จริ ง หรื อ เท็จ
ตัวดาเนินการเปรี ยบเทียบ
ตัวดาเนินการระดับบิต
ตัวดาเนินการ
ชื่อ
หน้ าที่
&
And
เปรี ยบเทียบบิต ผลลัพธ์จะเท่ากับ 1 ก็ต่อเมื่อค่าของบิต
ในตาแหน่งเดียวกันมีค่าเป็ น 1 ทังคู
้ ่ นอกนันจะให้
้
ผลลัพธ์เป็ น 0
|
Or
เปรี ยบเทียบบิต ผลลัพธ์จะเท่ากับ 1 ก็ต่อเมื่อค่าของบิต
ในตาแหน่งเดียวกันตัวใดตัวหนึง่ หรื อทังคู
้ ่มีค่าเป็ น 1
~
Not
แปลงบิตจาก 1 เป็ น 0 จาก 0 เป็ น 1
^
Xor
เปรี ยบเทียบบิต ผลลัพธ์จะเท่ากับ 0 ก็ต่อเมื่อค่าของบิต
ในตาแหน่งเดียวกันเป็ นค่าเดียวกัน
<<
Shift left
เลื่อนบิตไปทางซ้ ายตามค่าที่นามากระทา
>>
Shift Right
เลื่อนบินไปทางขวาตามค่าที่นามากระทา
ตัวอย่ าง
ตัวดาเนินการระดับบิต
ตัวดาเนินการเชิงข้ อความ
ตัวดาเนินการ
หน้ าที่
ตัวอย่ าง
.
ใช้ เชื่อมต่อข้ อความ
$str1.$str2
.=
ใช้ เชื่อมต่อข้ อความและนาผลการเชื่อมข้ อความเก็บไว้
ในตัวแปรซ้ ายมือ
$str1.=$str2
การใช้ งานค่าคงที่
• ถ้ าเราต้ องการกาหนดค่าโดยที่เป็ นค่าเดิมไปตลอดการทางานของโปรแกรมโดยไม่
อนุญาตให้ เปลี่ยนแปลงค่าได้ เรี ยกว่า ค่าคงที่ (Constant)
รู ปแบบในการสร้ างค่ าคงที่
define(ชื่อค่าคงที่, ข้ อมูลที่กาหนด);
CONTROL STATEMENT
อ.วิวฒ
ั น์ ศรี ภมู ิ
สาขาวิชาเทคโนโลยีสารสนเทศและการสื่อสาร
คณะวิทยาการสารสนเทศ
มหาวิทยาลัยมหาสารคาม
การใช้ คาสัง่ if
คาสัง่ if เป็ นคาสัง่ เพื่อตรวจสอบเงื่อนไข โดยถ้ าเงื่อนไขเป็ นจริ งก็จะเข้ าไปทาในบล็อก
คาสัง่ หลัง if
รู ปแบบของการใช้ คาสั่ง if มีดังนี ้
-กรณี 1 ทางเลือก
if(condition){
statement;
}
-กรณี ทางเลือกมากกว่ า 2
if(condition){
statement;
}
else{
statement;
}
-กรณี ทางเลือกมากกว่ า 2
if(condition){
statement;
}
else if(condition){ //หรือ elseif
statement;
}
…
else{
statement;
}
ตัวอย่างการใช้ คาสัง่ if
การใช้ คาสัง่ switch..case
• ในกรณีที่ต้องตรวจสอบหลายเงื่อนไขและไม่สะดวกในการใช้ คาสัง่ if
รู ปแบบการใช้ คาสั่ง switch..case
switch(variable){
case value 1:
statement;
break;
case value 2:
statement;
break;
case value n:
statement;
break;
default:
statement;
}
 variable คือ ตัวแปรที่ต้องการตรวจสอบค่า
ถ้ าค่าในตัวแปรตรงกับค่าใดค่าหนึ่งหลัง case ก็จะทา
statement ใน case นั ้น ๆ


break คือให้ ออกจากบล็อก switch..case
statement ที่อยู่ใน default จะทาเมื่อค่าใน
variable ไม่ตรงกับค่าใด ๆ ในแต่ละ case เลย
ตัวอย่างการใช้ คาสัง่ switch..case
การใช้ คาสัง่ for
• คาสัง่ for เป็ นการทางานแบบซ ้า ๆ ตามเงื่อนไขที่กาหนด หรื อที่เราเรี ยกว่า “การวนลูป
(Loop)” นัน
่ เอง
รู ปแบบการใช้ คาสั่ง for
for(ตัวแปร=ค่าเริ่มต้ น;เงื่อนไข;การเปลี่ยนค่า){
statement;
}
การทางานเป็ นดังนี ้
1. เริ่มต้ น จะกาหนดค่าให้ กบั ตัวแปรตามที่เรากาหนด
2. ตรวจสอบว่าเงื่อนไขจริงหรื อไม่ ถ้ าจริง ก็จะเข้ าไปทางานในบล็อก
คาสัง่ for แต่ถ้าเท็จก็จะไม่เข้ าไปทาและหยุดการทางานทันที
3. หลังจากทาคาสัง่ ในบล็อกเสร็จ ก็จะเปลี่ยนค่าตัวแปรตามที่เรา
กาหนด
4. กลับไปทาข้ อ 2
ตัวอย่างการใช้ คาสัง่ for
ตัวอย่างการใช้ คาสัง่ for
การใช้ คาสัง่ while
• ในการใช้ ลป
ู แบบ for เราจาเป็ นต้ องทราบค่าเริ่ มต้ น และค่าสุดท้ ายของลูป แต่บางกรณีเรา
อาจไม่ทราบค่าที่แน่นอนของค่าเริ่ มต้ น หรื อค่าสุดท้ ายของการวนลูป แต่อาจทราบเพียงเงื่อนไข
บางอย่างเท่านัน้
รู ปแบบการใช้ คาสั่ง while
while(condition){
statement;
}
** อย่าลืมเปลี่ยนค่าตัวแปรที่ใช้ สาหรับตรวจสอบเงื่อนไขในบล็อกของ while ไม่เช่นนันอาจจะ
้
ทาให้ เกิด infinity loop
การใช้ คาสัง่ do..while
• เป็ นการตรวจสอบเงื่อนไขเช่นเดียวกับลูปแบบ while แต่ do..while จะตรวจสอบ
เงื่อนไขท้ ายลูป นัน่ คือ
• while จะตรวจสอบเงื่อนไขก่อนเข้ าไปทางานในลูป
• do..while จะเข้ าไปทางานในลูปก่อน แล้ วค่อยตรวจสอบเงื่อนไขทีหลัง
รู ปแบบการใช้ คาสั่ง do..while
do{
statement;
}
while(condition);
** เช่นเดียวกับลูป while อย่าลืมปรับค่าตัวแปรที่ใช้ สาหรับตรวจสอบเงื่อนไข ไม่เช่นนันอาจจะ
้
เกิด infinity loop
ตัวอย่างการใช้ คาสัง่ while
การใช้ คาสัง่ break และ continue
• คาสัง่ break เป็ นคาสัง่ ให้ ออกจากลูป โดยไม่วนลูปที่เหลือต่อไปอีก
• คาสัง่ continue เป็ นคาสัง่ ให้ เริ่ มลูปรอบใหม่ตอ่ ไป โดยข้ ามคาสัง่ ที่อยู่หลัง
continue ทังหมด
้
FUNCTION AND ARRAY
อ.วิวฒ
ั น์ ศรี ภมู ิ
สาขาวิชาเทคโนโลยีสารสนเทศและการสื่อสาร
คณะวิทยาการสารสนเทศ
มหาวิทยาลัยมหาสารคาม
Function
• ฟั งก์ ชัน เป็ นชุดคาสัง่ การกระทาอย่างใดอย่างหนึง่ เช่น การคานวณหาผลลัพธ์บางอย่าง ซึง่
อาจจะมีการใช้ งานอยู่บอ่ ย ๆ เราจึงแยกชุดการทางานเหล่านี ้ออกมาและตังชื
้ ่อไว้ เมื่อต้ องการใช้
งานก็สามารถเรี ยกชื่อฟั งก์ชนั นันได้
้ เลย โดยไม่ต้องเขียนชุดคาสัง่ เหล่านันขึ
้ ้นมาใหม่
• ฟั งก์ชนั มีทงแบบที
ั้
่ PHP สร้ างไว้ ให้ เราใช้ เรี ยกว่า Predefined Functions และส่วนที่เรา
สร้ างไว้ ใช้ งานเองเรี ยกว่า User defined Function
การสร้ างฟั งก์ชนั
รู ปแบบการสร้ างฟั งก์ ชัน
function funcionName([parameter]){
statement;
[return value];
}
เราตังชื
้ ่ออะไรก็ได้ (ใช้ วิธีการตังชื
้ ่อเหมือนกับตัวแปร)
parameter คือ อินพุตที่สง่ เข้ าไปในฟั งก์ชนั ซึง่ อาจจะมีหรื อไม่มีก็ได้
return คือ เอาท์พตุ ที่ถกู ส่งออกมาจากฟั งก์ชนั ซึง่ อาจจะมีหรื อไม่มีก็ได้
• functionName
•
•
การคืนค่าจากฟั งก์ชนั ด้ วยคาสัง่ return
• เนื่องจากฟั งก์ชนั จะใช้ ในการประมวลผลอย่างใดอย่างหนึง่ ซึง่ ฟั งก์ชนั มักจะถูกเรี ยกใช้ โดยส่วนอื่น
ๆ ของสคริ ปต์ เมื่อได้ ผลลัพธ์มา เราอาจจะต้ องส่งค่าที่ได้ กลับไปยังส่วนที่เรี ยกใช้ ฟังก์ชนั นัน้ ซึง่
วิธีการส่งค่าออกไป จะระบุด้วยคาสัง่ return
• ค่าที่สง่ กลับอาจจะเขียนเป็ นข้ อมูลโดยตรง หรื ออ่านค่าจากตัวแปร หรื อเป็ นการกระทาที่ก่อให้ เกิด
ผลลัพธ์บางอย่าง เช่น
return 1;
return $result;
return 2*3.14*$r;
• หรื อเราอาจจะใช้ คาสัง่ return เพื่อหยุดการทางานในฟั งก์ชนั
ตัวอย่างการสร้ างฟั งก์ชนั
เทคนิคการส่งค่าพารามิเตอร์
กรณีที่บางค่าของพารามิเตอร์ โดยส่วนใหญ่จะเป็ นค่าเดิม แต่อาจจะมี
บางครัง้ ที่มีการเปลี่ยนแปลงค่า เราสามารถกาหนดพารามิเตอร์ แบบ Default ได้ ดังรูปแบบ
ต่อไปนี ้
• Default parameter
รูปแบบการกาหนดพารามิเตอร์ แบบ default
function funcionName(variable=value){
statement;
[return value];
}
• ถ้ าในการเรี ยกใช้ ฟังก์ชนั โดยที่ไม่สง่ พารามิเตอร์ เข้ าไป ก็จะนาค่าที่กาหนดไว้ ตอนประกาศฟั งก์ชนั
ไปใช้ งาน
• การประกาศพารามิเตอร์ แบบดีฟอลต์ ต้ องประกาศหลังจากที่ประกาศพารามิเตอร์ แบบปกติก่อน
เทคนิคการส่งค่าพารามิเตอร์
function func1($a, $b=10, $c=“php”){statement;}
function func1($b=10, $a, $c=“php”){statement;}
function func1($b=10, $c=“php”, $a){statement;}
ตัวอย่ างการใช้ งานพารามิเตอร์ แบบ default
function func1($a, $b=10){
statement;
}
fname(5);
fname(5,15);
//ใช้ ค่าดีฟอลต์ ค่ าที่ฟังก์ ชันใช้ คือ $a=5, $b=10
//ไม่ ใช้ ค่าดีฟอลต์ ค่ าที่ฟังก์ ชันใช้ คือ $a=5, $b=15
ถูก
ผิด
ผิด
เทคนิคการส่งค่าพารามิเตอร์
เป็ นการกาหนดให้ มีการส่งพารามิเตอร์ แบบอ้ างอิง
นัน่ คือ ตัวแปรที่ถกู ส่งมายังฟั งก์ชนั จะมีตาแหน่งในหน่วยความจาเดียวกัน กับตัว
แปรที่ประกาศไว้ ในฟั งก์ชนั เป็ นผลให้ ถ้ าค่าปลายทางเปลี่ยน ต้ นทางก็จะเปลี่ยน
ตาม
• Reference parameter
• เราสามารถกาหนดวิธีการส่งให้ เป็ นแบบอ้ างอิงได้ ทงตอนประกาศ
ั้
หรื อตอนส่ง โดย
การวางเครื่ องหมาย & ไว้ หน้ าชื่อตัวแปร
เทคนิคการส่งค่าพารามิเตอร์
ตัวอย่ างการประกาศ และการส่ งพารามิเตอร์ แบบ reference parameter
function func1($a, &$b) {
statement;
}
//เฉพาะ $b ที่เป็ นแบบ reference
function func1($a, $b){
statement;
}
func1(&$x, $y); //วางเครื่ องหมาย & ไว้ หน้ าพารามิเตอร์ ท่ ต
ี ้ องการส่ งแบบ reference
เทคนิคการส่งค่าพารามิเตอร์
การอ้ างถึงตัวแปรภายนอกฟั งก์ชนั ด้ วยคาสัง่ global
• ใน PHP เราไม่สามารถอ้ างถึงตัวแปรที่ถกู สร้ างขึ ้นภายในฟั งก์ชนั จากภายนอกฟั งก์ชนั ได้ และ
ไม่สามารถอ้ างถึงตัวแปรที่ถกู สร้ างภายนอกฟั งก์ชนั จากในฟั งก์ชนั ได้
การอ้ างถึงตัวแปรภายนอกฟั งก์ชนั ด้ วยคาสัง่ global
อาร์ เรย์
• ตัวแปรแบบ อาร์ เรย์ คือ ตัวแปรทีใช้ เก็บข้ อมูลอย่างใดอย่างหนึง่ มีการเรี ยงลาดับที่แน่นอน เราใช้
index ในการชี ้ไปยังตาแหน่งที่ต้องการ
• สาหรับอาร์ เรย์ใน PHP ค่าในตัวแปรไม่จาเป็ นต้ องเป็ นชนิดเดียวกัน
• ตัวอย่าง อาร์ เรย์ A มีขนาดเท่ากับ 7
index
0
1
2
3
4
5
6
value
50
4
38
90
21
70
51
• ถ้ าต้ องการอ้ างถึงค่าของอาร์ เรย์ในลาดับที่ 4 (90) เราก็ต้องกาหนด ให้ index เป็ น 3
A[3] เป็ นต้ น
การสร้ างอาร์ เรย์
รู ปแบบการสร้ างอาร์ เรย์ อย่ างง่ าย
//ประกาศอาร์ เรย์
สมาชิกตัวที่ 1; //กาหนดค่าให้ กบ
ั อาร์ เรย์แต่ละตาแหน่ง
$ชื่ออาร์ เรย์ = array();
ชื่ออาร์ เรย์[0]=
ชื่ออาร์ เรย์[1]= สมาชิกตัวที่ 2;
$ชื่ออาร์ เรย์ = array(สมาชิกตัวที่ 1, สมาชิกตัวที่ 2, ...,สมาชิกตัวที่ n);
การสร้ างอาร์ เรย์ แบบ Key/Value
$ชื่ออาร์ เรย์ = array(key 1=>value 1, key2=>value2,…key n=> value n
ตัวอย่างการใช้ งานอาร์ เรย์
ฟั งก์ชนั เกี่ยวกับอาร์ เรย์ที่น่าสนใจ
รู ปแบบ
range(ค่าเริ่มต้ น, ค่าสุดท้ าย
,[step])
ตัวอย่ าง
ผลลัพธ์
$a1=range(1,5);
(1,2,3,4,5)
$a2=range(0,25,10);
(0,10,20)
in_array(ค่าที่ต้องการค้ นหา,ชื่อ $a3=array(“1”,2,“3”,4);
อาร์ เรย์,[พิจารณาชนิดข้ อมูล])
in_array(1,$a3)
in_array(1,$a3,true)
true
false
sizeof(ชื่ออาร์ เรย์)
count(ชื่ออาร์ เรย์)
count($a3);
sizeof($a3)
4
sort(ชื่ออาร์ เรย์)
$a4=array(6,2,1,9,3);
$a4=sort($a4);
(1,2,3,6,9)
ตัวอย่างฟั งก์ชนั ต่าง ๆ เกี่ยวกับString
รู ปแบบ
strlen(ตัวแปรสตริง)
str_word_count
(ตัวแปรสตริง)
ตัวอย่ าง
ผลลัพธ์
$s1=“Hello Thailand”;
$x=strlen($s1);
$x=14
$x=str_word_count($s1)
$x=2
strtolower(ตัวแปร $s2=strtolower($s1);
สตริง)
$s2=“hello thailand”
strtoupper(ตัวแปร $s3=strtolower($s1)
สตริง)
$s3=“HELLO THAILAND”
substr(ตัวแปรสตริง,
ตำแหน่งเริม่ ต้น,[ควำม
ยำว])
$s4=“Thailand”
$s5=“Thai”
$s6=“and”
$s4=substr($s1,6);
$s5=substr($s1,6,4);
$s6=substr($s1,-3);
ตัวอย่างฟั งก์ชนั ต่าง ๆ เกี่ยวกับจานวนและตัวเลข
รู ปแบบ
ตัวอย่ าง
ผลลัพธ์
ceil(จำนวน)
$n1=ceil(9.1);
$n2=ceil(9.6);
$n1=10
$n2=10
floor(จำนวน)
$n3=floor(9.1);
$n4=floor(9.6);
$n3=9
$n4=9
round(จำนวน)
$n5=round(9.1);
$n6=round(9.6);
$n5=9
$n6=10
substr(ตัวแปรสตริง, $s4=substr($s1,6);
$s5=substr($s1,6,4);
ตำแหน่งเริม่ ต้น,[ควำม
$s6=substr($s1,-3);
ยำว])
$s4=“Thailand”
$s5=“Thai”
$s6=“and”
FILE AND DIRECTORY
อ.วิวฒ
ั น์ ศรี ภมู ิ
สาขาวิชาเทคโนโลยีสารสนเทศและการสื่อสาร
คณะวิทยาการสารสนเทศ
มหาวิทยาลัยมหาสารคาม
การอ้ างอิงถึงตาแหน่งไฟล์และไดเรกทอรี
• ในการสร้ างเว็บเพจ บางครัง้ เราจาเป็ นต้ องนาข้ อมูลจากไฟล์อื่น ๆ เข้ ามาใช้ ร่วมด้ วย เช่น รูปภาพ
หรื อการนาไฟล์เข้ ามาแทรก เราจึงมีความจาเป็ นที่จะต้ องรู้วิธีการอ้ างอิงถึงตาแหน่งไฟล์ใน
เซิร์ฟเวอร์
การอ้ างถึง Document Root
• Document root
คือ ไดเรกทอรี เริ่ มต้ นของการจัดเก็บข้ อมูลของเว็บ
C:/Appserv/www
• ตาแหน่งนี ้ถ้ าเป็ นรูปแบบ URL ก็จะเท่ากับ http://localhost
• เราสามารถแทนตาแหน่งนี ้ได้ ด้วยเครื่ องหมาย “/” เช่น ถ้ าเราต้ องการอ้ างอิงถึงไฟล์
ซึง่ อยู่ใน C:/Appserv/www/myWeb/myFile สามารถอ้ างอิงได้ โดย
/myWeb/MyFile/alogoMSU.jpg เป็ นต้ น
alogoMSU.jpg
การอ้ างอิงพาธแบบ Absolute
• พาธคือเส้ นทางไปยังไฟล์ หรื อไดเรกทอรี่ ซึง่ การอ้ างอิงแบบ Absolute นี ้จะเป็ นการระบุ
ตาแหน่ง ที่แท้ จริ งของไฟล์ โดยเริ่ มจาก Document root เป็ นต้ นไป
ถ้าต้องการนารูปภาพไปใช้ที่เพจอื่น ๆ ก็กาหนดเป็ น
<img src=“/MyWeb/MyFile/alogoMSU.jpg”>
ถ้าต้องการสร้างลิงก์จากเพจอื่น ๆ ไปยังเพจ
login.php
<a href=“/MyWeb/login.php”>เข้ าสู่ระบบ</a>
ก็กาหนดเป็ น
การอ้ างอิงพาธแบบ Relative
• การอ้ างอิงแบบ Relative นี ้จะเทียบกับตาแหน่งไฟล์ที่เป็ นผู้เรี ยกไฟล์อื่นมาใช้ เป็ นหลัก โดยมี
สัญลักษณ์การเทียบตาแหน่งเพิ่มเติมเข้ ามาอีก 2 แบบ คือ
• เครื่ องหมายจุด (.) ใช้ แทนไดเรกทอรี ปัจจุบนั
• เครื่ องหมายจุดจุด (..) ใช้ แทนไดเรกทอรี่ ก่อนหน้ านี ้ 1 ระดับ
เช่น ปั จจุบนั เราอยู่ที่ไดเรกทอรี่ Sample และต้ องการ
อ้ างอิงไปยังไฟล์ที่อยู่ใน MyWeb กาหนดโดย
../MyWeb/login.php
หรื อถ้ าต้ องการอ้ างถึงตาแหน่งในไฟล์ที่อยู่ใน Sample ก็
สามารถกาหนดได้ โดย
./test.php
ฟั งก์ชนั เกี่ยวกับการแทรกไฟล์
• การแทรกไฟล์ เป็ นการนาโค้ ดจากไฟล์อื่นที่เขียนไว้ แล้ ว เมื่ออีกไฟล์ต้องการเขียนในลักษณะ
เดียวกันเราสามารถนาเข้ ามาแทรกได้ ทนั ทีโดยไม่ต้องเขียนใหม่ และไฟล์ที่นามาแทรกก็จะเป็ น
ส่วนหนึง่ ของไฟล์นนไปเลย
ั้
include(filename)
ฟั งก์ชนั นี ้จะแทรกไฟล์จากภายนอกเข้ ามา โดยการกาหนดชื่อไฟล์ หากเรา
ไม่ได้ เก็บไฟล์ที่จะนามาแทรกไว้ ในไดเรกทอรี เดียวกันกับไฟล์ที่เรี ยก จะต้ อง
ระบุตาแหน่งด้ วย เช่น
inculde(“/myWeb/myFile/connect.php”);
include_once(filename)
เช่นเดียวกับ include เพียงแต่จะไม่แทรกไฟล์เดิมซ ้า หากมีการแทรก
มาก่อนหน้ านี ้แล้ ว
ตัวอย่างการแทรกไฟล์
สร้ างไฟล์ ต่าง ๆ ดังนี ้
header.html
<p align="center">
<img src="../Myweb/myfile/header.png">
</p>
error.php
<?
function show_error($msg){
echo "<center><font color='#FF0000'>$msg</font></center>";
}
?>
footer.html
<p align="center">&copy;2012 All Rights Reserved</p>
ตัวอย่างการแทรกไฟล์
สร้ างไฟล์ ต่าง ๆ ดังนี ้
includeFileSample.php
<?
include("header.html");
include("error.php");
show_error("ไม่สำมำรถติดต่อฐำนข้อมูลได้");
include("footer.html");
?>
ผลลัพธ์ ของเพจ includeFileSample.php
ฟั งก์ชนั เกี่ยวกับไฟล์
ฟั งก์ ชัน
ตัวอย่ าง
file_exists(file)
ตรวจสอบว่ามีไฟล์ หรื อไดเรกทอรี ตามที่ระบุอยูห่ รื อไม่ หากมีจะคืนค่ากลับมาเป็ น true
realpath(path)
ตรวจสอบตาแหน่งที่แท้ จริงของพาธที่ระบุ เช่น
$p=realpath(“../myWeb”);
//ผลลัพธ์ $p=C:/Appserv/www/myWeb
path_info(path)
คืนค่ากลับมาเป็ นอาร์ เรย์ที่สมาชิกแต่ละตัวประกอบไปด้ วย ชื่อไดเรกทอรี , ชื่อไฟล์ และส่วนขยาย
(นามสกุล) อาร์ เรย์ผลลัพธ์ที่ได้ จะอยูใ่ นรูปแบบ Key/Value โดยค่าคีย์จะประกอบไปด้ วย
dirname, basename และ extension เช่น
$pathinfo=path_info(“/sample/test.php”);
/* ผลลัพธ์
$pathinfo[‘dirname’] = /sample/test.php
$pathinfo[‘basename’] = test.php
$pathinfo[‘extension’]= php */
is_file(path)
ตรวจสอบว่าพาธที่ระบุเป็ นไฟล์ใช่หรื อไม่ หากใช่จะคืนค่า true
filesize(file)
หาขนาดไฟล์ ซึง่ ค่าที่ได้ จะมีหน่วยเป็ น byte เช่น
$size=filesize(“myFile/alogoMSU.jpg”);
rename(oldname,
newname)
เปลี่ยนชื่อไฟล์ หรื อ ไดเรกทอรี หากสาเร็จจะคืนค่าเป็ น true
unlink(file)
ลบไฟล์ที่ระบุ หากสาเร็จจะคืนค่าเป็ น true
ฟั งก์ชนั เกี่ยวกับไดเรกทอรี
ฟั งก์ ชัน
ตัวอย่ าง
is_dir(path)
ตรวจสอบว่าพาธที่ระบุเป็ นไดเรกทอรี ใช่หรื อไม่ ถ้ าใช่จะคืนค่าเป็ น true
dirname(path)
ตรวจสอบชื่อไดเรกทอรี ของพาธที่ระบุ (ไม่รวมชื่อไฟล์)เช่น
$path=“../MyWeb/Sample/test.php”;
$dir=dirname($path);
/*ผลลัพธ์
$dir=“../MyWeb/Sample”*/
mkdir(dir)
สร้ างไดเรกทอรี ที่ระบุ หากสาเร็จจะคืนค่า true
rmdir(dir)
ใช้ ในการลบไดเรกทอรี ซึง่ ต้ องเป็ นไดเรกทอรี ว่างเท่านันจึ
้ งจะลบได้ และหาลบได้ จะคืนค่าเป็ น
true
FORM
อ.วิวฒ
ั น์ ศรี ภมู ิ
สาขาวิชาเทคโนโลยีสารสนเทศและการสื่อสาร
คณะวิทยาการสารสนเทศ
มหาวิทยาลัยมหาสารคาม
ลักษณะของฟอร์ ม
ใช้ ในการกาหนดองค์ประกอบต่าง ๆ ที่ใช้ ในการรับข้ อมูลจากผู้ใช้ เพื่อส่งไปประมวลผล
ด้ วย PHP ที่เซิร์ฟเวอร์ โดยภายในฟอร์ มจะประกอบด้ วยอินพุตสาหรับรับข้ อมูลในรูปแบบที่
ต่างกัน
Text
Select
• Form
Textarea
Radio
Checkbox
แท็ก HTML สาหรับอินพุตแต่ละชนิด
ชื่อแท็ก
คาอธิบาย
รู ปแบบ
Text
เป็ นช่องสาหรับกรอกข้ อมูลที่เป็ นข้ อความบรรทัดเดียว
<input type=“text”>
Password
เป็ นช่องสาหรับกรอกรหัสผ่านโดยจะซ่อนข้ อความที่พิมพ์
<input type=“password”>
Textarea
เป็ นช่องรับข้ อความแบบหลายบรรทัด รูปแบบแท็กคือ
<textarea></textarea>
Checkbox
เป็ นช่องสาหรับทาเครื่ องหมายเช็ค เพื่อแสดงว่าเราได้ เลือกหรื อไม่
<input type=“checkbox”>
ได้ เลือกรายการนัน้
Radio
เป็ นช่องสาหรับเลือกรายการเช่นเดียวกับ Checkbox แต่
ในกลุ่มนันจะสามารถเลื
้
อกได้ เพียงรายการเดียว
Select
ใช้ สาหรับสร้ างรายการ ซึง่ สามารถกาหนดการเลือกได้ 2 แบบ คือ <select>
<option>…</option>
แบบเลือกได้ เพียงรายการเดียว และแบบเลือกได้ หลายรายการ
<input type=“radio”>
</select>
Submit
เป็ นปุ่ มสาหรับกดเพื่อส่งข้ อมูลออกไปยังเซิร์ฟเวอร์
<input type=“submit”>
Reset
เป็ นปุ่ มเพื่อยกเลิกข้ อมูลที่กรอกลงไปในฟอร์ ม โดยเคลียร์ ค่าใน
ฟอร์ มอัตโนมัติ
<input type=“reset”>
Button
เป็ นปุ่ มเช่นเดียวกับ submit และ reset แต่เราต้ อง
เขียนคาสัง่ ควบคุมด้ วย JavaScript เอง
<input type=“button”>
Properties ต่าง ๆ ของอินพุต
อินพุต
Button
(Submit
Reset)
Text และ
Password
Textarea
คาอธิบาย
properties
และ
value
ข้ อความที่ต้องการให้ ปรากฏบนปุ่ ม
type
• Submit ใช้ เพื่อส่งข้ อมูลจากฟอร์ มไปยังเซิร์ฟเวอร์
• Reset ใช้ ล้างข้ อมูลทังหมดในฟอร์
้
ม
• None ใช้ เป็ นปุ่ มสาหรับสัง่ งานทัว่ ไป โดยทัว่ ไปนิยมใช้ ร่วมกับ
JavaScript
name
เป็ นชื่อของ Text ใช้ สาหรับอ้ างอิงเมื่อข้ อมูลถูกส่งออกไป
type
• Text เพื่อกรอกข้ อมูลปกติ
• Password เพื่อกรอกข้ อมูลในลักษณะของรหัสผ่าน
value
คือค่าที่เราต้ องการกาหนดเอาไว้ ล่วงหน้ า หรื อเรี ยกว่าค่าดีฟอลต์
size
คือขนาดความกว้ างของช่องในการรับข้ อมูล โดยกาหนดเป็ นตัวเลข
maxlength
คือจานวนตัวอักษรสูงสุดที่สามารถกรอกได้
name
เช่นเดียวกับ Text
cols
จานวนอักษรต่อหนึง่ บรรทัด
rows
จานวนบรรทัด
Properties ต่าง ๆ ของอินพุต
อินพุต
Checkbox
Select
Radio
คาอธิบาย
properties
name
กาหนดเพื่อจะใช้ ในการอ้ างอิงสาหรับการส่งข้ อมูลไปยังเซิร์ฟเวอร์
value
เป็ นค่าของรายการนัน้ ซึง่ เป็ นค่าที่จะถูกนาไปใช้ งานที่เซิร์ฟเวอร์
checked
ถ้ าต้ องการกาหนดให้ checkbox ถูกเช็คไว้ ล่วงหน้ าให้ กาหนดค่านี ้เป็ น true
ถ้ าไม่มีการกาหนดจะเป็ น false อัตโนมัติ
multiple
ถ้ ากาหนดให้ เป็ น true หมายความว่า สามารถเลือกได้ มากกว่า 1 รายการ
size
จานวนแถวที่จะแสดงรายการ
name
ถ้ าต้ องการให้ ในกลุ่มของ Radio สามารถเลือกได้ ตวั ใดตัวหนึง่ เท่านันต้
้ อง
กาหนดให้ name เป็ นค่าเดียวกัน
name
คือชื่อของฟอร์ มซึง่ หากเรามีฟอร์ มเพียงฟอร์ มเดียวในเพจ หรื อไม่ได้ ใช้ กบั
JavaScript ก็ไม่จาเป็ นต้ องใช้ งานชื่อนี ้
action
คือตาแหน่งของไฟล์ php หรื ออื่น ๆ บนเซิร์ฟเวอร์ ที่เราต้ องการจะส่งข้ อมูลนี ้ขึ ้นไป
method
คือเมธอดที่ใช้ ในการส่งข้ อมูล โดยแบ่งเป็ น
• GET ใช้ กบั การส่งข้ อมูลที่มีขนาดเล็กไม่เกิน 256 ไบต์ และไม่ต้องการปกปิ ดข้ อมูล
ที่ส่ง โดยการส่งแบบนี ้จะแนบข้ อมูลต่อท้ าย URL ซึง่ เรี ยกว่า Query
String
• POST ใช้ ในกรณีที่ต้องการซ่อนข้ อมูล และไม่จากัดขนาดข้ อมูลในการส่ง
Form
การอ่านข้ อมูลอินพุตชนิดข้ อความ
• อินพุตประเภทข้ อความที่สาคัญได้ แก่ Text, Password, Textarea ซึง่ การอ่าน
ข้ อมูลจากอินพุตประเภทนี ้ สามารถอ่านได้ จาก ตัวแปร $_GET หรื อ $_POST ตามเมธอดที่
ถูกส่งเข้ ามา
• เช่น เรากาหนดฟอร์ มดังนี ้
<form action=“login.php” method=“post”>
<input type=“text” name=“username”>
<input type=“password” name=“psw”>
</form>
• ที่เซิร์ฟเวอร์ เราสามารถอ่านข้ อมูลโดย
$username=$_POST[‘username’];
$psw=$_POST[‘psw’];
หรือเรำสำมำรถเรียก
$username และ $psw ได้เลยโดยไม่ผำ่ นตัวแปร $_POST ก็ได้
การอ่านข้ อมูลจากอินพุตชนิด Radio
• ค่าที่อ่านได้ จะถูกเก็บในพรอปเพอร์ ตี ้ value
• ถ้ าหากผู้ใช้ ไม่เลือกรายการใด ๆ จะไม่มีข้อมูลของอินพุต radio ที่ถกู ส่งไปยังเซิร์ฟเวอร์ เรา
จึงควรตรวจสอบด้ วยฟั งก์ชนั isset()ก่อนการอ่านข้ อมูลจากอินพุตชนิดนี ้เสมอ
• เช่น เรากาหนดฟอร์ มดังนี ้
<form action=“register.php” method=“post”>
<input type=“radio” name=“sex” value “male”>Male
<input type=“radio” name=“sex” value “female”>Female
</form>
• ที่เซิร์ฟเวอร์ เราสามารถอ่านข้ อมูลได้ โดย
if(isset($_POST[‘sex’])){
$sex=$_POST[‘sex’];
echo “Your sex is $sex”;
}
การอ่านข้ อมูลจากอินพุตชนิด Checkbox
• การอ่านข้ อมูลจาก Checkbox จะคล้ ายกับอินพุตประเภทข้ อความ แต่ข้อมูลจะถูกส่งไปยัง
เซิร์ฟเวอร์ เฉพาะรายการที่ถกู เลือกเท่านัน้ ส่วนรายการที่ไม่ได้ เลือกจะไม่ถกู ส่งไป
• เช่น เรากาหนดฟอร์ มดังนี ้
<form action=“register.php” method=“post”>
<input type=“checkbox” name=“Eng” value “English”>English
<input type=“checkbox” name=“Chi” value “Chinese”>Chinese
<input type=“checkbox” name=“Jpa” value “Japanese”>Japanese
</form>
• ที่เซิร์ฟเวอร์ เราสามารถอ่านข้ อมูลได้ โดย
echo “You can speak >> ”;
if(isset($_POST[‘Eng’])){
echo $_POST[‘Eng’].“ ”;
}
if(isset($_POST[‘Chi’])){
echo $_POST[‘Chi’].“ ”;
}
if(isset($_POST[‘Jpa’])){
echo $_POST[‘Jpa’];
}
การอ่านค่าจากอินพุตชนิด Select
• ถ้ าเราไม่ได้ กาหนดให้ multiple เป็ น true นัน่ คือ ผู้ใช้ สามารถเลือกได้ เพียงรายการ
เดียว เราสามารถอ่านค่าเช่นเดียวกับ การอ่าน Text
• เช่น เรากาหนดฟอร์ มดังนี ้
<form action=“register.php” method=“post”>
<select name=“job”>
<option value=“PRG”>Programmer</option>
<option value=“SA”>System Analysis</option>
<option value=“DBA”>Database Administrator</option>
</select>
</form>
• ที่เซิร์ฟเวอร์ เราสามารถอ่านข้ อมูลได้ โดย
$job=$_POST[‘job’];
** แต่ ถ้ากาหนดให้ สามารถเลือกได้ หลายค่ าเราต้ องกาหนดตัวแปรให้ เป็ นแบบอาร์ เรย์
การส่งข้ อมูลแบบอาร์ เรย์
• ในกรณีที่ฟอร์ มของเราจะต้ องมีอินพุตชนิดเดียวกันอยู่เป็ นจานวนมาก ซึง่ หากเราต้ องเขียน
โปรแกรมเพื่ออ่านข้ อมูลจากอินพุตทีละตัว อาจจะทาได้ ลาบาก ดังนันเราสามารถเปลี
้
่ยนมาใช้
วิธีการส่ง และการรับข้ อมูลแบบอาร์ เรย์แทน
• ตัวอย่างการสร้ างฟอร์ มเพื่อส่งข้ อมูลแบบอาร์ เรย์ โดยใช้ Text
<form action=“register.php” method=“post”>
<input type=“text” name=“textname[]”><br>
<input type=“text” name=“textname[]”><br>
<input type=“text” name=“textname[]”><br>
</form>
• การเรี ยกใช้ ข้อมูลฝั่ ง Server
$text1=$_POST[‘textname’][0];
$text2=$_POST[‘textname’][0];
$text3=$_POST[‘textname’][0];
ตัวอย่างการส่งข้ อมูลแบบอาร์ เรย์ของอินพุต Select
• สร้ างฟอร์ มเพื่อส่งข้ อมูลแบบอาร์ เรย์ โดยใช้ Select
<form action=“register.php” method=“post”>
<select name=“faculty[]” multiple=“true” size=3>
<option>Engineering</option>
<option>Informatics</option>
<option>Accounting</option>
<option>Technology</option>
<option>Science</option>
</select>
</form>
• การเรี ยกใช้ งานฝั่ ง Server
if($_POST[‘faculty’]){
foreach($faculty as $fac){
echo $fac.“<br>”;
}
}