Company
LOGO
PHP เบ้ืองตน
อาจารยชนิดา เรืองศิริวัฒนกุล หลักสูตรสาขาวิชาเทคโนโลยีสารสนเทศ
Electronic Commerce
Company
LOGO พ้ืนฐานของ Web Server
Internet Text File
Database
Web Service
Dynamic Content
HTML
Static Content
PHP
JSP
ASP
…..
Application Server
Apache
IIS
PWS
….. Web Server
(hardware)
Web Server
(soft ware)
http request
Company
LOGO ทําความรูจักกับภาษา PHP
PHP เปนภาษาในรูปแบบของ Script ท่ีใชกันอยางแพรหลาย เหมาะสมสําหรับ
การพัฒนา www และสามารถท่ีแทรกรวมเขากับ HTML Document ได
PHP ไมเสีย คาใชจาย
PHP เขียนงาย และเรียนรูงาย โดยโครงสรางภาษาคลายกับภาษา C
PHP สามารถทํางานขาม Platform ได ไมวาจะเปน UNIX , Windows
PHP มีความเสถียรภาพ เชน Server ไมตอง Reboot บอยๆ โปรแกรมไมมีการ
เปลี่ยนแปลงมาก และใชงานรวมกันได ถาเปลี่ยน Version
PHP สามารถทํางานไดเร็ว และทํางานรวมกับโปรแกรม,โปรโตคอลอ่ืนๆ ไดดี
PHP มี function อ่ืนๆ เขามาชวยในการทํางานมากมาย เชน การจัดการ
เกี่ยวกับการแสดงผลวันท่ี หรือการติดตอกับฐานขอมูล
Company
LOGO ประวัติความเปนมาของ PHP
PHP เริ่มสรางข้ึนในกลางป 1994 ผูพัฒนา
เปนคนแรก คือ นาย Rasmus Lerdorf
PHP เปนคํายอมาจาก “Professional
Home Page” ปจจุบัน ตอมาเปล่ียนช่ือเปน
“PHP Hypertext Preprocessor”
PHP เวอรชันแรกเปนท่ีรูจักในช่ือวา
Personal Homepage Tools เม่ือถึงกลาง
ป1995 ไดออกเวอรชันท่ีสองช่ือวา PHP/FI
ปจจุบัน PHP เปนเวอรชัน 6
Company
LOGO PHP คืออะไร
PHP เปนภาษาสคริปต สําหรับการเขียนโปรแกรมเพ่ือแสดงเว็บเพจ
อยางหนึ่ง ซ่ึงจะทํางานอยูทางฝง Server เรียกวา Server Side
Script เชนเดียวกันกับภาษา ASP, JSP
การทํางานของภาษา PHP จะแทรกอยูในเอกสาร HTML
PHP สามารถ Compile ไดท้ังบนระบบปฏิบัติการ UNIX, Linux,
Mac OS, และ Windows
PHP มีความสามารถในการทํางานสูง โดยเฉพาะกับการติดตอกับระบบ
จัดการฐานขอมูลไดหลายแบบ เชน Adabas D, InterBase, Solid,
DBase, mSQL, Sybase, Empress, MySQL, Velocis, FilePro,
Oracle, Unix dbm, Informix PostgreSQL เปนตน
Company
LOGO การทํางานของ PHP
PHP ทํางานบน Server โดยทํางานรวมกับเอกสาร Html
เม่ือมีการเรียกใชเอกสารนั้นๆ ไปยัง Server จะเกิดทํางานในสวนท่ี
เปนคําส่ังของ PHP กอน เพ่ือใหไดผลลัพท และประมวลผลออกเปน
ไฟล Html สามารถแสดงผลออกทาง Web Browsers ของเครื่อง
Client ได
เราสามารถแทรกคําสั่ง PHP ไดตามตองการลงในเอกสาร Html โดย
สวนของคําส่ัง PHP จะอยูภายใต “PHP TAG”
คําส่ังของภาษา PHP จะลงทายดวยเครื่องหมาย ; ยกเวนคําส่ังสุดทาย
อาจสามารถละเครื่องหมาย ; ได
ไฟลของ PHP จะมีนามสกุล .php
Company
LOGO การเตรียมการเพ่ือเขียนภาษา PHP
เตรียมคอมพิวเตอร โดยปกติการพัฒนาโปรแกรมหรือระบบงานบนเว็บจะตองมีเครื่องคอมพิวเตอรท่ีทําเปน Web Server และ Web browser อยางละเครื่อง แตถาหากมีงบประมาณจํากัด เราก็สามารถใชคอมพิวเตอรเพียงเครื่องเดียวก็ได โดยใหคอมพิวเตอรเครื่องนี้ทําหนาท่ีเปนท้ัง Web Server และ Web browser ได ใชระบบปฏิบัติการ Windows หรือ Unix หรือ Linux หรือ Mac OS ติดตั้งโปรแกรม Web Server ซ่ึงสามารถเลือกใชโปรแกรมไหนก็ได
เชน Apache, Internet Information Server (IIS), Personal Web Server (PWS), OmniHTTPd เปนตน ติดตั้ง PHP Engine หรือตัวแปลภาษา PHP ซ่ึงเปนโปรแกรมท่ีจะทํา
หนาท่ีแปลภาษา PHP เปนภาษาเครื่องเพ่ือใหคอมพิวเตอรสามารถทํางานและประมวลผลไดตามท่ีตองการ
Company
LOGO การเตรียมการเพ่ือเขียนภาษา PHP
ติดตั้งโปรแกรมจัดการฐานขอมูล ซ่ึงโปรแกรมภาษา PHP สามารถเลือกใชฐานขอมูลไดหลายประเภท เชน dBase, IMAP, MySql, MS Access, Oracle เปนตน ติดตั้งโปรแกรมชวยจัดการฐานขอมูล หากเลือกใชฐานขอมูล MySql
แนะนําวาควรใช PhpMyAdmin ซ่ึงเปนโปรแกรมจัดการฐานขอมูล MySql โดยเฉพาะ
ติดตั้งโปรแกรม Web Authoring และ Editor คือโปรแกรมท่ีใชใน
การชวยสรางเว็บเพจ เชน Macromedia Dreamweaver, Microsoft Frontpage, Editplus หรือ Notepad เปนตน
Company
LOGO
ปจจุบันมีโปรแกรมชวยติดตั้งเปนแพ็คเกจสําเร็จรูปให มีหลายรูปแบบ
ใหเลือกใช เชน AppServ (หาไดจาก www.appservnetwork.com)
การเตรียมการเพ่ือเขียนภาษา PHP
ส่ิงท่ีมีมาใหในโปรแกรม AppServ
Web Server ชื่อ Apache
ตัวแปลภาษา PHP
ระบบฐานขอมูล MySQL
ระบบชวยจัดการฐานขอมูล phpMyAdmin
Virtual Directory ชื่อ C:\AppServ\www\
Company
LOGO ทําความรูจักกับภาษา PHP
การท่ีตัวแปลคําส่ัง PHP จะทราบวาสวนใดจะเปนสวนท่ีจะใหทํางาน
ในของ PHP นั้น ก็จะตองมีการระบุวงเล็บคําส่ังของ PHP กอน ซ่ึง
วงเล็บสําหรับ PHP สามารถใชงานได หลายรูปแบบคือ
<?php ?>
<? ?> เปนการใชวงเล็บแบบสั้น แตอาจจะมีการซํ้าซอนกัน ถาหาก
ตองการใช XML รวมดวย เพราะวงเล็บแบบนี้เปนการใชของ XML เชนกัน
<% %> เปนรูปแบบวงเล็บของภาษา ASP ของ Microsoft
<SCRIPT LANGUAGE=”PHP”> </SCRIPT> ใชในลักษณะของ
Script เหมือนกับ Java Script
Company
LOGO รูจักกับ PHP TAG
PHP TAG – เปนการระบุสวนของโปรแกรม PHP ท่ีแทรกอยูในไฟล
HTML ซ่ึงมีอยู 4 แบบ
แบบท่ี 1 XML style (Extensible Markup Language)
<?php คําส่ังภาษา PHP ?>
ตัวอยาง
<?php
echo “Hello ! World ! <br>”;
echo “I am PHP”;
?>
Company
LOGO
แบบท่ี 2 SGML style (Standard Generalized Markup
Language)
<? คําส่ังภาษา PHP ?>
ตัวอยาง
<?
echo “Hello ! World ! <br>”;
echo “I am PHP”;
?>
รูจักกับ PHP TAG
Company
LOGO
แบบท่ี 3 Java Language style
<script language=“php”>
คําส่ังภาษา PHP
</script>
ตัวอยาง
<script language=“php”>
echo “Hello ! World”;
</script>
รูจักกับ PHP TAG
Company
LOGO
แบบท่ี 4 ASP Style
<% คําส่ังภาษา PHP %>
ตัวอยาง
<%
echo “Hello ! World ! <br>”;
echo “I am PHP”;
%>
รูจักกับ PHP TAG
Company
LOGO
15
รูปแบบการเขียน PHP
การเขียนภาษา PHP ตองอยูภายใตการเปดและปด TAG คําสั่ง ซ่ึงตองปด
ทายดวยเครื่องหมาย semicolon(;) เหมือน ภาษา C และ JAVA
<?php echo "Hello World!!"; ?>
Company
LOGO
16
Whitespace
การพิมพตัวอักษร หรือคําสั่งท่ีมองไมเห็น แตทําใหเกิดชองวาง หรือ การข้ึนบรรทัดใหม อันประกอบดวย enter
space
tab
จะไมมีผลกระทบตอผลลัพธท่ีได
<?php
echo "Hello ";
echo “URU";
?>
<?php
echo "Hello"; echo “URU";
?>
Company
LOGO
17
Comment
การเขียนหมายเหตุเพ่ือใชอธิบายรายละเอียดโปรแกรม หรือ เพ่ือแกไข
โปรแกรม มี 2 แบบ คือ
// สําหรับ Comment บรรทัดเดียว
/* */ สําหรับ Comment เปนชวงหลายบรรทัดติดกัน
<?php
// echo "Hello ";
echo “URU";
?>
<?php
/* echo "Hello ";
echo “URU"; */
?>
Company
LOGO
18
การใชงานกับ Dynamic Control
คือขอมูลท่ีสามารถเปลี่ยนแปลงไดตลอดเวลา เชนการแสดงผลวันเวลา
ปจจุบัน
<?php
echo "วันท่ีและเวลา"; echo "<br>";
echo date("j/m/Y, H:i:s");
?>
Company
LOGO
สามารถเขียนบล็อกคําส่ังของ PHP แทรกไวใน HTML ได
<html>
<body>
<? echo “Hello World”; ?>
</body>
</html>
รูจักกับ PHP TAG
Company
LOGO คําสั่งแสดงผล
ในการแสดงผลลัพธของโปรแกรมภาษา PHP ไดจัดเตรียมคําสั่งดังนี้
1. echo
เชน echo “Welcome”; โดยขอความจะเขียนอยูใน “” หรือ ‘ ’
ก็ได
2. print
เชน print “Welcome”;
3. <?= ขอมูลท่ีตองการแสดงผล ?>
เชน <?= “Welcome”; ?>
4. printf
Company
LOGO
สามารถเขียนบล็อกคําส่ังของ PHP นี้ไดหลายๆ บล็อกคําส่ังภายใน
โปรแกรมเดียวกัน <html>
<body>
<? echo “Hello World”; ?>
<br>
<? echo “IT Class”; ?>
</body>
</html>
รูจักกับ PHP TAG
Company
LOGO
สามารถเขียนบล็อกคําส่ังของ PHP ไดอยางอิสระโดยไมตองอยูภายใน
แท็กของคําส่ัง HTML ก็ได <?
echo “Hello World”;
echo “IT Class”;
?>
เม่ือเปดบล็อกคําส่ังของ PHP แลว จําไวเสมอวาภายในบล็อกคําส่ังนี้
จะตองเปนคําส่ังภาษา PHP เทานั้น
รูจักกับ PHP TAG
Company
LOGO ตัวแปร
ตัวแปร (Variables) คือ ช่ือท่ีตั้งข้ึนมาเพ่ือใชจัดเก็บขอมูลภายใน
หนวยความจํา (RAM) ของคอมพิวเตอร ตัวแปรสามารถจัดเก็บขอมูล
ใดๆก็ได ไมวาจะเปนขอมูลตัวเลข ตัวอักษร เครื่องหมาย เปนตน
ลักษณะท่ีสําคัญของตัวแปร คือ คาท่ีจัดเก็บไวตัวแปรใดๆแลว เมื่อปดโปรแกรม หรือเคร่ือง คอมพิวเตอร
ขอมูลนั้นจะถูกลบท้ิงไปจากหนวยความจาํ
ตัวแปรสามารถท่ีจะเปลี่ยนแปลงคาท่ีจัดเก็บไวได ตลอดเวลา
Company
LOGO ตัวแปร
PHP ไมตองประกาศตัวแปรกอนการใชงาน สามารถใชงานไดเลย
การกําหนดตัวแปร จะใชเครื่องหมาย $ นําหนา
ไมตองกําหนดชนิดของตัวแปรกอนการใชงาน
PHP จะมองจากการใสคาใหกับตัวแปรนั้น ๆ เชน
$A = ‘A12’; // ตัวแปร $A เปนชนิด string
$B = “123”; // ตัวแปร $B เปนชนิด string
$C = 123; // ตัวแปร $C เปนชนิด integer
$D = 1.23; // ตัวแปร $D เปนชนิด floating-point
หากใช “ ” หรือ ‘ ’ กําหนดคาใหกับตัวแปร PHP จะมองวาตัวแปร
เปน string ทันที
Company
LOGO ตัวแปร
กฏเกณฑการตั้งช่ือตัวแปร
ช่ือตัวแปรตองข้ึนตนดวยเครื่อง $ (dollar sign) เสมอ
หลังเครื่องหมาย $ จะตามดวยช่ือตัวแปรโดยท่ีตัวแรกของช่ือตอง
เปนตัวอักษร หรือเครื่องหมาย _ (underscore) เทานั้น
ตัวถัดมาของช่ือตัวแปรสามารถเปนตัวอักษร หรือตัวเลข หรือ
เครื่องหมาย _ (underscore) เพ่ือผสมเปนช่ือได
ช่ือของตัวแปรมีคุณสมบัติเปน case-sensitive คือตัวอักษรตัว
ใหญและตัวเล็กถือวาเปนคนละตัวกัน
ไมควรตั้งช่ือซํ้ากับ keyword และฟงกชันมาตรฐาน (Built-in
function) เพราะจะเกิดขอผิดพลาดข้ึน
Company
LOGO ตัวแปร
PHP Keywords (คําสงวน)
and false or
break for require
case foreach return
class function static
continue global switch
default if this
do include true
else list var
elseif new virtual
extends not xor while
Company
LOGO ตัวแปร
ชนิดของตัวแปร (Variable Type) 1. Boolean -> True , False
2. Integer -> เลขจํานวนเต็ม
3. Float -> เลขจํานวนจริง
4. String -> ตัวอักษรท่ีนําไปคํานวณทางคณิตศาสตรไมได
5. Array -> ตัวแปรชุด
6. Object -> เก็บคุณสมบัติของ Object
7. Resource -> สําหรับอางอิงถึงแหลงภายนอก เชน การเปดไฟลขอมูล
การเชื่อมตอฐานขอมูล
8. Null -> ตัวแปรท่ีไมมีคาอะไรเลยเรียกวามีคาเปน Null เชน เมื่อ
ประกาศตัวแปรแลวแตยังไมไดกําหนดคาใดๆ ใหตัวแปร สามารถ
กําหนดคาใหตัวแปรมีคาเปน Null ได $MySalary = NULL;
Company
LOGO ตัวแปร
ชนิดของตัวแปรในภาษา PHP สามารถกําหนดได โดยไมตองประกาศ
ชนิดของตัวแปรก็ได และเม่ือกําหนดคาใหกับตัวแปร ท่ีมีชนิดท่ี
แตกตางกับชนิดเดิม ชนิดของตัวแปรจะเปล่ียนตามชนิดของตัวแปรท่ี
กําหนดใหใหม
<? $x = “Hello”;
echo “x =" . $x;
$x= 20-10;
echo “ x =" . $x;
?>
ผลลัพธ
x =Hello x = 10
Company
LOGO ตัวแปร
เลขจํานวนจริง (Float/Double)
เขียนในรูปแบบของเลขทศนิยมและเลขยกกําลัง
$i = 6.254;
$j = -2e12; # มีคาเทากับ -2 x 1012
ตรรกะ(Boolean)
ใชจัดเก็บคาความจริงทางตรรกะ
$num1 = 5;
$num2 = 10;
$num3 = $num1 < $num2;
Company
LOGO ตัวดําเนินการคณิตศาสตร (Arithmatic
Operators)
Opt Integer Output Float Output
+ 1 + 2 3 1.0 + 2.0 3.0
- 2 - 3 -1 2.0 – 3.0 -1.0
* 3 * 4 12 3.0 * 4.0 12.0
/ 24 / 5 4 24.0 / 5.0 4.8
% 23 % 7 2 23.0 % 7.0 2.0
Company
LOGO ตัวดําเนินการตรรก (Logical Operators)
Boolean Logical Operator
& b = false & (++i<10) false i = 1
| b = false | (++i<10) true i = 1
^ b = false ^ (++i<10) true i = 1
! b = !(++i<10) false i = 1
Short-circuit logical Operator
&& b = false && (++i<10) false i = 0
|| b = true || (++i<10) true i = 0
int i = 0; boolean b;
Company
LOGO
เขียนโปรแกรม Java เบื้องตน
ลําดับความสําคัญ
[],(), op++, op-- ++op,--p, +op, -op, ~, ! New, (type)op *,/,% +,- <<,>>,>>> <,>,>=,<=,instanceof ==,!= & ^ | && || ?: =,+=,-=,*=,/=,%=,&=, ^=,|=,<<=,>>=,>>>=
สําคัญมาก
สําคัญนอย
Company
LOGO คาคงที่
คาคงที (Constant)
ตัวอยาง
define (ชื่อคาคงที่,ขอมูล);
<?
define(“MYNAME”, “Winyou”);
define(“VAT”,7);
echo “Value Added Tax = ”. VAT . “<br>”;
echo “My name is ” . MYNAME;
?> ผลลัพธ
Value Added Tax = 7
My name is Winyou
Company
LOGO ตัวแปร สายอักขระ (String)
ใชจัดเก็บตัวอักษรและขอความท่ัวไป โดยจะตองอยู
ในเครื่องหมาย double quotes (“ ”)
$name=“GT DPU”;
สัญลกัษณ์ ความหมาย
\n ใชข้ึ้นบรรทดัใหม่
\f เล่ือนเคอร์เซอร์ไปตน้บรรทดั
\t ใชเ้ล่ือน Tab
\\ ใชพิ้มพเ์คร่ืองหมาย \ (Backslash)
\$ ใชพิ้มพเ์คร่ืองหมาย $ (Dollar)
\” ใชพิ้มพเ์คร่ืองหมาย “ (Double Quote)
\0 กาํหนดจุดส้ินสุดของ string
Company
LOGO แบบฝกหัด
เขียนโปรแกรมหาผลรวมของเลขตั้งแต 1 ถึง 10 (บันทึกไฟล
ชื่อ summary.php)
เขียนโปรแกรมคํานวณหาคาของ 16 ยกกําลัง 4 (บันทึกไฟล
ชื่อ power.php)
เขียนโปรแกรมหาพื้นท่ีวงกลมรัศมี 10 หนวย โดยกําหนด
pi เปนคาคงท่ี (final) มีคาเทากับ 3.14 (circle.php)