1
Introduction PHP
 ถูกพัฒนาขึ้นด้วยภาษา C
 ย่อมาจาก Personal Home Page
 เป็น Server-side script language
 เป็น Open Source
 ใช้ทำา Web application
2
Introduction to Web Technology
 Web Server คือ อะไร Application ที่ใช้หน้าที่รับ และประมวลผล
ข้อมูลที่ร้องขอ
จากผู้ใช้บริการอินเตอร์เน็ต ผ่านทางเว็บบราวเซอร์ (Browser)
 Web Browser คือ อะไร
Software application ที่ใช้รับและแสดง Web pages โดยจะ
ทำาการ
interpret HTML
 HTML คือ อะไร
Hyper Text Markup Language เป็นภาษาที่ใช้สร้าง document
บน
World Wide Web เก็บในลักษณะ ASCII text ประกอบด้วย
markup tags
มากมาย
 Web Site คือ อะไร
คือ location บน World Wide Web โดยแต่ละ web site จะ
ประกอบด้วยหนึ่ง
3
Introduction to Web Technology
 HTTP คือ อะไร
Hyper Text Transfer Protocol เป็น application ในระดับ
protocol TCP/IP ที่ใช้ทำาหน้าที่ deliver virtually all files
and data on the World Wide Web โดย
Web Browser and Web Servers สามารถติดต่อสื่อสารกัน โดย
ใช้
HTTP, allows a variety of clients to communicate
with and vendor’s server without compatibility
problems
Client sends a request to the server (HTTP request)
Server sends a response to the client (HTTP response)
Browser is a HTTP Client (or Web client) เพราะสามารถส่ง
4
Introduction to Web Technology
 Web Application คือ อะไร
เพื่อให้การพัฒนา web page จากที่เคยเป็นแบบ static
content ด้วย
HTML เพียงอย่างเดียว ปัจจุบัน user ที่ใช้งาน web
page ต้องการความ
สนองตอบที่รวดเร็ว ทันที่ทันใด จึงได้มีการพัฒนาคิดค้น
รูปแบบของ web
page ให้เป็น dynamic มากขึ้น โดยทั่วไปลักษณะของ
web
application ก็จะประกอบด้วย
 การใช้ HTML forms ในการส่งข้อมูลไปยัง Server
 User สามารถส่งค่า parameter หรือข้อมูลมายัง program ที่
พัฒนาขึ้นสำาหรับ
5
Introduction to PHP
 อยากใช้ PHP ต้องมีอะไรบ้าง
 server + web server application + PHP
 Apache
 IIS
 client + web browser
 DBMS
 MySQL
 ORACLE
 MS ACCESS
6
ติดตั้ง Xampp เพื่อใช้งาน PHP
 Xampp ประกอบด้วย
 MySQL root password reset
 Apache 2.4.4
 PHP 5.4.19
 MySQL 5.5.32
 phpMyAdmin 4.0.4
ดาวน์โหลด Xampp ที่ไหน?
• http://www.apachefriends.org
7
8
Editor Program
 NetBeans IDE 7.3.1+
 JDK 7u40 with NetBeans 7.3.1
 EditPlus
 NotePad
 …
9
Introduction to PHP (ต่อ)
 PHP Tag
<?php …?>
<?...?>
<script language=php>…</script>
จบคำาสั่งด้วย ;
10
Introduction to PHP (ต่อ)
 โปรแกรม PHP ตัวแรก
//first.php
<?php echo “Hello world"; ?>
 Comment
 รายบรรทัดใช้ // หรือ Sharp (#)
 แบบช่วงใช้ /*…*/
11
ตัวแปรและตัวดำาเนินการ
 โดยทั่วไปการใช้ตัวแปร PHP ไม่จำาเป็นต้องระบุชนิด
(Type)
 การตั้งชื่อตัวแปรใช้ตัวอักษร ภาษาอังกฤษ, 0-9, _ โดย
จะต้อง
ขึ้นต้นด้วย ตัวอักษรหรือ _ เท่านั้น และใช้ $ นำาหน้าชื่อ
ตัวแปร
 เราสามารถอ้างถึงค่าในตัวแปร โดยเรียกผ่านตัวแปรอื่น
(assign by
reference)
Demo
<?php //ref.php
$name = “Tum";
$money = 100;
echo “name = “ . $name ;
12
ตัวแปรและตัวดำาเนินการ
ชนิดข้อมูลตัวแปร
 boonlean
 integer
 float
 string
 array
 object
13
ตัวแปรและตัวดำำเนินกำร
settype($varname, “integer”); ชนิดข้อมูลตัวแปร
 boonlean
 integer
 float
 string
 array
 object
14
ตัวแปรและตัวดำำเนินกำร
 กำรตั้งชื่อตัวแปรเป็น case sensitive (เล็กก็เล็กใหญ่ก็
ใหญ่)
Demo
<? //var01.php
$num = 12.535;
echo $num;
?>
<? //var02.php
$num = (integer)12.535;
echo $num;
?>
15
ตัวแปรและตัวดำำเนินกำร
Demo
<? //var03.php
$num = 12.535;
settype($a_num, "integer");
echo $num;
?>
<? //var04.php
$num = (integer)12.535;
$num = (float)($num * 1.23);
echo $num;
echo "<br>";
echo $num;
?>
16
ตัวแปรและตัวดำำเนินกำร
 String Operators
 ใช้เชื่อม string 2 ชุดเข้ำด้วยกัน
. จุด
17
ตัวแปรและตัวดำำเนินกำร
 ตัวแปรแบบ Local
 เป็นตัวแปรที่ถูกสร้ำงขึ้นภำยใน function ใช้งำนได้เฉพำะ
ภำยใน function
ไม่สำมำรถเรียกใช้งำนภำยนอก function ได้
Demo
<? //var05.php
function ShowProvince()
{
echo "My province : ".$myprovince;
}
$myprovince = "Bangkok";
ShowProvince();
?>
18
ตัวแปรและตัวดำำเนินกำร
 ตัวแปรแบบ global
 หำกต้องกำรเรียกใช้เป็นตัวแปรที่ถูกสร้ำงขึ้นภำยใน function ต้องประกำศ
ตัวแปร global เพื่อให้สำมำรถ
เรียกใช้งำนภำยนอก function ได้
Demo
<? //var06.php
function ShowProvince()
{
global $myprovince;
echo "My province : ".$myprovince;
}
$myprovince = "Bangkok";
ShowProvince();
?>
19
ตัวแปรและตัวดำำเนินกำร
 ชนิดข้อมูล
 boolean
 integer
 float
 string
 array
 object
 resource
20
ตัวแปรและตัวดำำเนินกำร
 boolean
True / false
ค่ำของตัวแปรชนิดอื่นสำมำรถแปลงมำเป็นผลลัพธ์แบบ
boolean ได้โดยอัตโนมัติโดยค่ำที่สำมำรถแปลควำม
หมำยเป็น false ได้แก่
Data Type ค่ำของข้อมูล
Integer 0 หรือ NULL
Float 0.0 หรือ NULL
String “” “หรือ 0” หรือ NULL
Array ที่ไม่มีค่ำใดๆ อยู่ $a = array() หรือ
NULL
Object ที่ไม่มีค่ำใดๆ อยู่ หรือ NULL
21
ตัวแปรและตัวดำำเนินกำร
Demo
<? //boolean.php
$i = 0;
if($i) {
echo "$i <> 0";
}
else
{
echo "$i = 0”;
}
?>
22
ตัวแปรและตัวดำำเนินกำร
 integer
เลขจำำนวนเต็ม
สำมำรถใส่ค่ำเป็นเลขฐำนสิบ ฐำนแปด หรือฐำนสิบหกได้ โดย
 ใส่เลขศูนย์ (0) เมื่อต้องกำรแสดงเลขฐำนแปด
 ใส่ (0x) เพื่อแสดงว่ำเป็นเลขฐำนสิบหก
Demo
<? #integer.php
$x = 10; echo "$x = ".$x."<br>";
$y = 010; echo "$y = ".$y."<br>";
$z = 0x10; echo "$z = ".$z."<br>";
?>
23
ตัวแปรและตัวดำำเนินกำร
Demo
<? /* var07.php
$x = "555";
echo "$x is $x : ".gettype($x)."<br>";
$x = $x + 0;
echo "$x is $x : ".gettype($x)."<br>";
?>
24
ตัวแปรและตัวดำำเนินกำร
 float
ตัวเลขที่มีจุดทศนิยม
 string
ข้อควำม กลุ่มของตัวอักษร
 object
เป็น instance ของ class สำำหรับกำรเขียนโปรแกรม
แบบ OOP
 resource
ข้อมูลชนิดพิเศษใช้อ้ำงถึงทรัพยำกรภำยนอก ซึ่งฟังก์
พิเศษบำงฟังก์ชันจะคืนค่ำเป็น
ข้อมูลชนิดนี้กลับมำ เช่น mysql_connect()
25
ตัวแปรและตัวดำำเนินกำร
 Arithmetic Operators
+ - * / %
Demo
<? /* arop01.php */
$a = 10;
$b = -3;
echo "$a + $b = ".($a+$b)."<br>";
echo "$a / $b = ".$a/$b."<br>";
echo "$a % $b = ".$a%$b."<br>";
//echo "$a % $b = ".$a+$b."<br>";
?>
26
ตัวแปรและตัวดำำเนินกำร
 Assignment Operators
= += -= .=
Demo
<? /* asop01.php */
$a = $b = 15;
$a -= 5;
$b += 3;
echo "$a = ".$a."<br>";
echo "$b = ".$b."<br>";
$a .= $b;
echo "$a .= ".$a."<br>";
$a *= $b;
echo "$a *= ".$a."<br>";
?>
27
ตัวแปรและตัวดำำเนินกำร
 Comparision Operators
ใช้เปรียบเทียบระหว่ำงสองค่ำ
== != <>
=== !==
< >
<= >=
28
ตัวแปรและตัวดำำเนินกำร
Demo
<? /* coop01.php */
$a = 15;
$b = "15";
if($a == $b) {echo "$a == $b<br>";}
else{echo "$a != $b<br>";}
if($a === $b) {echo "$a === $b<br>";}
else{print "$a !== $b<br>";}
?>
29
ตัวแปรและตัวดำำเนินกำร
 Operator แบบมีเงื่อนไข
condition ? Value if true : value if false;
Demo
<? #condition.php
$a = 1000;
$x = isset($b)? $b : $a;
echo "$x = $x";
?>
30
ตัวแปรและตัวดำำเนินกำร
 Error Control Operator
ใช้สำำหรับควบคุมข้อผิดพลำด โดยใช้ @ นำำหน้ำ expression ที่
ต้องกำรดักข้อผิดพลำด
หำกมีข้อผิดพลำดเกิดขึ้น จะไม่มีกำรแสดงผลข้อผิดพลำดที่
interprete พบ
Demo
<? #eco.php
$filename = "myfile.php";
$filefound = @fopen($filename, "r");
if($filefound){
echo "found $filename<br>";
}
else{
echo "did not find $filename<br>";
}
?>
31
ตัวแปรและตัวดำำเนินกำร
 incrementing/Decrementing Operators
ใช้สำำหรับเพิ่มลดค่ำตัวแปร
++$i $i++
--$i $i--
Demo
<? #ido.php
$i = 0;
echo $i++;
echo $i;
?>
32
ตัวแปรและตัวดำำเนินกำร
 Logical Operators
ใช้สำำหรับเปรียบเทียบค่ำตัวแปรหรือนิพจน์
and && …AND
or || OR
xor …EXCLUSIVE OR
! …NOT
33
ตัวแปรและตัวดำำเนินกำร
 if()…else, if()…elseif
ใช้ตรวจสอบเงื่อนไขเพื่อเลือกดำำเนินกำรอย่ำงใดอย่ำงหนึ่ง
Demo
<? #ifelse.php
$i = 0;
$a = $i++;
if($a===$i){
echo ($a."<br>");
}else{
echo ($i."<br>".$a."<br>");
}
?>
34
คำำสั่งในกำรควบคุม
Demo
<? #ifendif.php
$i = 0;
$a = $i++;
if($a===$i):
echo ($a."<br>");
else:
echo ($i."<br>".$a."<br>");
endif
?>
35
คำำสั่งในกำรควบคุม
Demo
<? #ifelseif.php
$i = 0;
//$a = 0;
$a = $i++;
if($a>$i){
echo ($a."<br>");
}elseif($a<$i){
echo ($i."<br>");
}else{
echo($i."<br>".$a."<br>");
}
?>
36
คำำสั่งในกำรควบคุม
 switch()…case…break
ใช้เมื่อต้องกำรเปรียบเทียบค่ำต่ำงๆ เพื่อหำทำงเลือกจำกหลำยๆ
ทำงเลือกว่ำจะให้ดำำเนินกำรตำม
ทำงเลือกใดทำงเลือกหนึ่ง
Demo
<? #switch.php
$i = 0;
$a = $i++;
switch($a){
default : print " i = 0 <br>"; break;
case 0: print " a = 0 <br>"; break;
case 1: print " a = 1 <br>";break;
}
?>
37
คำำสั่งในกำรควบคุม
 while()
กำรทำำงำนแบบวนรอบจนกว่ำเงื่อนไขของ while
จะเป็นเท็จ
Demo
<? #while.php
$i = 0;
while($i<10){
print ++$i."<br>";
}
?>
38
คำำสั่งในกำรควบคุม
 do…while()
กำรทำำงำนแบบวนรอบจนกว่ำเงื่อนไขของ while จะเป็น
เท็จ
โดยในรอบแรกจะถูกประมวลผลก่อนทำำกำรตรวจสอบ
เงื่อนไข
Demo
<? #dowhile.php
$i = 0;
do{
print ++$i."<br>";
}while($i<10)
39
คำำสั่งในกำรควบคุม
 for()
กำรทำำงำนแบบวนรอบตำมจำำนวนครั้งที่ทรำบแน่นอน
และมีกำรเพิ่มค่ำ
ให้กับตัวแปรที่ใช้ตรวจสอบเงื่อนไขในอัตรำที่สมำ่ำเสมอ
Demo
<? #forloop01.php
$i = 0;
for($i=1; $i<=10; $i++){
print $i."<br>";
}
?>
40
คำำสั่งในกำรควบคุม
 for()
Demo
<? #forloop02.php
$i = 0;
for(; $i++<10;){
print $i."<br>";
}
?>
41
คำำสั่งในกำรควบคุม
 break()
ใช้เพื่อออกจำกกำรทำำงำนแบบวน loop ของคำำสั่งควบคุม for,
foreach,
while, do…while และ switch
Demo
<? #break.php
$i = 1;
for(;;){
print $i."<br>";
if($i++>9){
break;
}
}
?>
42
คำำสั่งในกำรควบคุม
 continue()
ใช้ในกรณีเมื่อต้องกำรให้มีกำรข้ำมกำรทำำงำนบำงอย่ำงภำยใน
loop ไป แล้วกลับ
ไปตรวจสอบเงื่อนไขของคำำสั่งควบคุม for, while, do…while อีก
ครั้ง
Demo
<? #continue.php
$i = 0;
while(++$i<10){
print "$i=$i -->".($i % 3)."<br>";
if($i % 3){
continue;
}
print $i."<br>";
}
?>
43
คำำสั่งในกำรควบคุม
 return()
ใช้ในฟังก์ชั่นที่ต้องกำรส่งค่ำกลับออกมำนอกฟังก์ชั่น
Demo
<? #return.php
function TestSet($a){
echo ("$a is $a");
return ++$a;
}
$iTestSet = "TestSet";
$i=$iTestSet(5);
print "<br>".$i;
?>
44
คำำสั่งในกำรควบคุม
 require(), include()
ใช้เมื่อต้องกำรแทรก script จำกไฟล์หนึ่งเข้ำในอีกไฟล์
หนึ่ง โดยจะ
ให้ผลลัพธ์เหมือนกับว่ำ script ที่แทรกเข้ำมำถูกพิมพ์อยู่
ในไฟล์
นั้นโดยตรง เหมือนกับ require(), include() จะป้องกัน
ไม่ให้มีกำรแทรกไฟล์ซำ้ำ หำกไฟล์นั้นเคยถูกแทรกมำ
แล้วใน script
นี้ครั้งหนึ่ง
45
คำำสั่งในกำรควบคุม
 require(), include()
Demo
<? #MyFunction.php
function TestSet($a){
print("$a is $a");
return ++$a;
}
?>
46
คำำสั่งในกำรควบคุม
 require(), include()
ใช้เมื่อต้องกำรแทรก script จำกไฟล์หนึ่งเข้ำในอีกไฟล์
หนึ่ง โดยจะให้ผลลัพธ์
เหมือนกับว่ำ script ที่แทรกเข้ำมำถูกพิมพ์อยู่ในไฟล์นั้น
โดยตรง
Demo
<? #include.php
include("MyFunction.php");
$iTestSet = "TestSet";
$i=$iTestSet(5);
print "<br>".$i;
47
เทคนิคกำรเขียนโปรแกรมใน
Netbean เปิดแท็กจะต้องปิดแท็กทุกครั้ง เช่น
<?php … ?>
<html>….</html>
 ควรเขียนแท็กให้ครบก่อนทุกครั้งแล้วจึงเขียนคำำสั่งแทรก
ลงภำยในแท็กทีหลัง
 ให้สังเกตสีขององค์ประกอบภำยในโปรแกรมจะมีสีที่แตก
ต่ำงกัน เช่น
 แท็กของ PHP สีนำ้ำตำล
<?...?>
<?php…?>
 แท็กของ HTML สีนำ้ำเงิน
<html>
<head>
</head>
</html>
48
เทคนิคกำรเขียนโปรแกรมใน
EditPlus หมำยเหตุ สีเขียว เช่น
//comment
#comment
 ข้อมูลภำยใน “…” สีชมพู
“$a = $a<br>”
 ฟังก์ชั่น สีส้ม เช่น
echo “…”
print “…”
 คำำสั่ง (statement) สีนำ้ำเงิน เช่น
switch($selSex)
 ตัวแปร (variable) จะต้องมี $ และสีเขียว เช่น
$selSex
 วงเล็บ สีนำ้ำตำล
(…..)

PHP Tutorial (introduction)