1. Chương VII: PHP cơ b n
Gi i thi u PHP
Bi n trong PHP
Ki u d li u
Các c u trúc ñi u khi n
Hàm
Ph m vi bi n
L p ñ i tư ng trong PHP
PHP v i CSDL
Thi t k web Khoa CNTT-LHU 1
Gi i thi u PHP
PHP=PHP: Hypertext Preprocessor. Tên g c là Personal
Home Page
Là ngôn ng ñ vi t các trang web ñ ng server side như
ASP, JSP
B biên d ch PHP là ph n m m mã ngu n m , có th
ch y cùng v i các web server Apache, IIS,…
Thư ng k t h p v i h qu n tr CSDL MySQL
T p tin PHP có ph n m r ng là .php
Cú pháp ngôn ng gi ng ngôn ng C & Perl
Thi t k web Khoa CNTT-LHU 2
1
2. Các ưu ñi m
Mi n phí
ða môi trư ng (Multi-Platform)
– Web Servers: Apache, Microsoft IIS, Netscape Enterprise
Server
– H ñi u hành: UNIX (HP-UX, OpenBSD, Solaris, Linux),
Mac OSX, Windows NT/98/2000/XP/2003/vista
– H QTCSDL: dBase, DB2, Informix, InterBase, MS-SQL,
MySQL, ODBC, Oracle,…
Nhi u tài nguyên do ñư c ng d ng r ng rãi
Thi t k web Khoa CNTT-LHU 3
C n software gì ñ ch y PHP
Download PHP
– Download PHP for free here:
http://www.php.net/downloads.php
. Download MySQL Database
– Download MySQL for free here:
http://www.mysql.com/downloads/index.html
. Download Apache Server
– Download Apache for free here:
http://httpd.apache.org/download.cgi
Ho c Download WAMP,LAMP
Thi t k web Khoa CNTT-LHU 4
2
3. Nhúng PHP vào HTML
Có th nhúng mã PHP vào m i v trí trong trang HTML.
ðo n mã PHP ñư c ñ t trong các th sau:
M t c u trúc l nh thông thư ng c a PHP có th ñư c
tách làm nhi u ph n, m i ph n ñ t gi a <?php…?>
K t qu do ño n l nh PHP ñưa ra ñư c ñưa vào v trí
mà ño n l nh PHP ñang chi m ch .
Thi t k web Khoa CNTT-LHU 5
Các ñ c ñi m
Có kh năng hư ng ñ i tư ng
Thông d ch
Phân bi t ch hoa/ch thư ng
M i l nh k t thúc b i ch m ph y (;)
Không phân bi t kho ng tr ng, Tab, xu ng dòng trong
câu l nh
<?php print "Hello"; print " World!"; ?>
<?php
print “Hello” ;
print “ World!”;
?>
Ghi chú: dùng //, #, /* …*/
Thi t k web Khoa CNTT-LHU 6
3
4. Bi n trong PHP
Phân bi t ch hoa, ch thư ng
B t ñ u b ng d u ñô la ($), ti p ngay sau $ là
tên bi n.
Tên bi n bao g m ch cái, ch s , “_”, “$” và
ph i b t ñ u b ng ch cái ho c d u g ch n i.
Ví d : $a, $b,…
Bi n không c n khai báo (ñư c t ñ ng khai
báo vào l n gán giá tr ñ u tiên).
Vi c s d ng bi n chưa kh i t o s gây l i.
Thi t k web Khoa CNTT-LHU 7
Bi n trong PHP
Bi n ñ ng: Cho phép s d ng giá tr c a bi n
làm tên bi n khác.
– VD:
$a = “hello”;
$$a = “world”; //$hello = “world”
H ng s - Constants
– Ví d :
define(“MAX_VALUE”, 10);
echo MAX_VALUE;
Thi t k web Khoa CNTT-LHU 8
4
5. Ki u d li u
Boolean(bool)
integer (int), double (float, real)
string
array
object
1 Bi n trong PHP có th lu b t kỳ ki u d li u nào.
Thi t k web Khoa CNTT-LHU 9
Ki u s
S nguyên t -231 ñ n 231-1
– H th p phân: VD: $a = 16;
– H 16 (hexa): VD: $a=0x10;
– H 8 (bát phân): VD: 020;
S th c (th p phân): t 1.7E-308 ñ n 1.7E+308
– Bi u di n: $a = 0.017
– D ng khoa h c: $a = 17.0E-03
M t s hàm x lý s
Thi t k web Khoa CNTT-LHU 10
5
6. Ki u chu i - string
Thi t k web Khoa CNTT-LHU 11
Ki u chu i – string (tt)
Ký t thoát:
– S d ng ñ vi t các ký t ñ c bi t trong chu i
– VD:
C n có chu i: Ngư i ta nói “PHP r t t t”
$a = “Ngư i ta nói “PHP r t t t””; //Sai
$a = “Ngư i ta nói “PHP r t t t””;
//ðúng
– M t s ký t ph i s d ng ký t thoát: $, , “
– Ngoài ra:
• n: Xu ng dòng
• r: tr v ñ u dòng
• t: d u tab
Thi t k
•
web
… Khoa CNTT-LHU 12
6
7. Ki u chu i – string (tt)
Ki u tài li u (heredoc):
– Cho phép vi t 1 chu i trên nhi u dòng.
– Không c n s d ng ký t thoát:
– Cách vi t:
$bi n = Ký_hi u
n i dung trên nhi u dòng
Ký_hi u;
– Chú ý: Ký_hi u ph i ñư c vi t ký t ñ u tiên c a dòng
– Ví d :
$a = EOD
ðây là chu i n m trên nhi u dòng s d ng cú
pháp ki u tài li u ‘heredoc’
EOD;
Thi t k web Khoa CNTT-LHU 13
Ki u m ng – array
Cho phép ch a nhi u giá tr d li u ñư c ñánh
ch m c b ng s (Numbered array) hay chu i.
ð truy c p vào 1 ph n t , ñ t ch s trong [ ]
Ví d :
$a[0] = “Xin”;
$a[1] = “Chào”;
Có th s d ng ch s không liên ti p
Có th thêm ph n t vào cu i m ng b ng cách
b ch s :
$a[0] = “Xin”;
$a[] = “Chào”; // $a[1]
$a[] = “B n”; // $a[2]
Thi t k web Khoa CNTT-LHU 14
7
8. Ki u m ng – array(tt)
Ch s chu i (Associated array):
$a[“ten”] = “H ng”;
$a[“mau”] = “ð ”;
M ng nhi u chi u
– ðư c coi là m ng c a m ng
– Ví d :
$a[0][0] = “TT”;
$a[0][1] = “H tên”;
$a[1][0] = 1;
$a[1][1] = “Nguyen Van A”;
Thi t k web Khoa CNTT-LHU 15
Ki u m ng – array(tt)
Kh i t o m ng b ng hàm array()
– Ch s m c ñ nh:
$a=array(“xin”, “chào”, “b n”);
/*tương ñương v i
$a[]=“xin”;
$a[]=“chào”;
$a[]=“b n”;*/
– Ch s m c ñ nh v i ch s ñ u khác 0:
$a=array(5=“xin”, “chào”, “b n”);
/*tương ñương v i
$a[5]=“xin”;
$a[]=“chào”;
$a[]=“b n”;*/
Thi t k web Khoa CNTT-LHU 16
8
9. Ki u m ng – array(tt)
Kh i t o m ng b ng hàm array()(ti p)
– Ch s chu i:
$a=array(“ten”=”H ng”, “mau”=”ð ”);
/*Tương ñương v i:
$a[“ten”] = “H ng”;
$a[“mau”] = “ð ”;*/
– M ng nhi u chi u:
$a = array(
array(“TT”, “H tên”),
array(1,”Nguy n Văn A”)
);
Thi t k web Khoa CNTT-LHU 17
Ki u m ng – array(tt)
Thi t k web Khoa CNTT-LHU 18
9
10. Chuy n ki u và ki m tra ki u
Chuy n ki u d li u
– Cách 1 (automatic)
$var = 100 + 15;
$var = 100 + 15.0;
$var = 39 . Steps;
– Cách 2: (datatype) $var
– Cách 3: settype($var, “datatype”)
Ki m tra ki u
Thi t k web Khoa CNTT-LHU 19
Toán t
Ki u s :
– K t h p: +, -, *, /, %
– Tăng gi m: ++, --
VD: $a++; $a--; ++$a; --$a;
Chu i: Toán t ch m (.)
Logic: AND (), OR (||), XOR, !
Gán: =, +=, -=, .=
So sánh: ==, ===, !=, !==, , , =, =
Thi t k web Khoa CNTT-LHU 20
10
11. Các c u trúc ñi u khi n
ði u ki n if
ði u khi n switch
Vòng l p for
Vòng l p while
Vòng l p do.. While
Vòng l p foreach
T khóa break, continue
Thi t k web Khoa CNTT-LHU 21
foreach
foreach (array as variable)
{
statements
}
Ví d :
$meal = array('breakfast' = 'Walnut Bun',
'lunch' = 'Cashew Nuts and White Mushrooms',
'dinner' = 'Eggplant with Chili Sauce');
print table border=„1‟n;
foreach ($meal as $key = $value)
{
print trtd$key/tdtd$value/td/trn;
}
print '/table';
Thi t k web Khoa CNTT-LHU 22
11
12. Hàm
Khái báo hàm
function tên_hàm(ts1, ts2,…, tsn) {
//các l nh trong thân hàm
}
ð tr ra giá tr cho hàm ta s d ng l nh
return bi u_th c;
ð thoát kh i hàm:
– S d ng return
– exit;
Thi t k web Khoa CNTT-LHU 23
Ph m vi bi n
Ph m vi bi n là ph m vi ñó bi n xác ñ nh.
Trong PHP, bi n có 3 ph m vi:
– Local variables: bi n c c b :
• Kh i t o trong hàm
• có tác d ng t khi kh i t o ñ n h t hàm.
– Global variables: Bi n toàn c c:
• Kh i t o ngoài hàm
• Có tác d ng t khi kh i t o ñ n h t file tr trong hàm.
• ð ñưa 1 bi n toàn c c vào trong hàm, s d ng khai báo
global $bi n1, $bi n2,…; ho c m ng $_GLOBAL
– Super Global Variables: Siêu toàn c c: M t s bi n
có s n c a PHP: $_SERVER, $_GLOBAL...
Thi t k web Khoa CNTT-LHU 24
12
13. VD Ph m vi bi n
?php
function Ham1($var = 10)
{
global $temp;
$temp = $var * 2;
}
$temp = 5;
Ham1();
echo “Bien $temp co gia tri la: $temp;
?
Thi t k web Khoa CNTT-LHU 25
Bi n tham chi u
?php
function Ham1( $var)
{
$var = $var +10;
}
$var = 5;
Ham1($var);
echo “ Bien$var co gia tri la: $var;
?
Thi t k web Khoa CNTT-LHU 26
13
14. Chèn file
include(“ñ a_ch _file”);
require(“ñ a_ch _file”);
include_once(“ñ a_ch _file”);
require_once(“ñ a_ch _file”);
Thi t k web Khoa CNTT-LHU 27
L p ñ i tư ng trong PHP
ð nh nghĩa l p
Thi t k web Khoa CNTT-LHU 28
14
15. L p ñ i tư ng trong PHP
Thi t k web Khoa CNTT-LHU 29
PHP v i CSDL
Các bư c thao tác CSDL trong PHP
1. K t n i v i CSDL
2. Xây d ng câu truy v n d li u
3. Th c thi câu truy v n
4. X lí k t qu tr v t câu truy v n SELECT
5. Ng t k t n i v i CSDL
Thi t k web Khoa CNTT-LHU 30
15
16. T o K t n i CSDL
K t n i v i MySQL
resource mysql_connect([string host], [string username],
[string password])
Ch n CSDL
int mysql_select_db (string database,
[resource connection])
VD:
?php
$connection = mysql_connect(“localhost,“root”,“root);
mysql_select_db(“Books, $connection);
?
Thi t k web Khoa CNTT-LHU 31
Xây d ng câu truy v n d li u
Thi t k web Khoa CNTT-LHU 32
16
17. Th c thi câu truy v n
resource mysql_query(string SQL_command,
[resource connection])
VD:
?php
$strSQL = “INSERT INTO Users (UserName, Password)
VALUES (‘admin',‘123456')”;
mysql_query($strSQL);
$strSQL = “SELECT * FROM Users“;
$result = mysql_query($strSQL);
?
Thi t k web Khoa CNTT-LHU 33
X lý k t qu tr v
Hi n th d li u tr v
– S d ng hàm
$row = mysql_fetch_array($result)
S lư ng FIELD
$num = mysql_num_fields($result);
Truy c p ñ n t ng FIELD
echo $row[“UserName”];
Ho c
echo $row[0];
Thi t k web Khoa CNTT-LHU 34
17
18. Ng t k t n i d li u
int mysql_close([resource connection])
T ñ ng th c thi khi k t thúc mã l nh
Thi t k web Khoa CNTT-LHU 35
T ng h p các bư c thao tác CSDL MySQL
Thi t k web Khoa CNTT-LHU 36
18
19. M t s v n ñ - MySQL Font Unicode
?php
mysql_query(“set names ‘utf-8’”);
?
Thi t k web Khoa CNTT-LHU 37
Các hàm x lý l i
int mysql_errno(resource connection)
string mysql_error(resource connection)
?php
function Showerror()
{
die(Error . mysql_errno( ) . : . mysql_error( ));
}
if (!($connection = @ mysql_connect(localhost, “admin,“admin)))
die(Could not connect);
If (!(mysql_select_db(“Tên_CSDL, $connection)))
showerror( );
?
Thi t k web Khoa CNTT-LHU 38
19
20. Include File
Thi t k web Khoa CNTT-LHU 39
Thao tác v i Microsoft SQL Server
Thi t k web Khoa CNTT-LHU 40
20
21. Data Source Name (DSN)
T o DSN:
– Vào Control Panel Administrative Tools Data sources
(ODBC)
– Trong c a s ODBC Data Source Administrator: User DSN
Thi t k web Khoa CNTT-LHU 41
Data Source Name (DSN)
Thi t k web Khoa CNTT-LHU 42
21
22. Microsoft Access, MSSQL v i ODBC qua Data
Access,
Source Name (DSN)
Thi t k web Khoa CNTT-LHU 43
Thi t k web Khoa CNTT-LHU 44
22