Bài giảng Thiết kế Web - 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

pdf22 trang | Chia sẻ: hongmo88 | Lượt xem: 1284 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng Thiết kế Web - Chương VII: PHP cơ bản, để xem tài liệu hoàn chỉnh bạn click vào nút TẢI VỀ ở trên
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 2
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
2Thiết kế web Khoa CNTT-LHU 3
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 4
Cần software gì ñể chạy PHP
Download PHP
– Download PHP for free here:
. Download MySQL Database
– Download MySQL for free here:
. Download Apache Server
– Download Apache for free here:
Hoặc Download WAMP,LAMP
3Thiết kế web Khoa CNTT-LHU 5
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 
 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 6
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
 Ghi chú: dùng //, #, /* */
<?php
print “Hello” ;
print “ World!”;
?>
4Thiết kế web Khoa CNTT-LHU 7
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 8
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”
Hng s - Constants
– Ví dụ:
define(“MAX_VALUE”, 10);
echo MAX_VALUE;
5Thiết kế web Khoa CNTT-LHU 9
Kiểu dữ liệu
 Boolean(bool)
 integer (int), double (float, real)
 string
 array
 object
1 Bin trong PHP có th lu bt kỳ kiu d li!u nào.
Thiết kế web Khoa CNTT-LHU 10
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ố
6Thiết kế web Khoa CNTT-LHU 11
Kiểu chuỗi - string
Thiết kế web Khoa CNTT-LHU 12
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
• 
7Thiết kế web Khoa CNTT-LHU 13
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 14
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]
8Thiết kế web Khoa CNTT-LHU 15
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 16
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”;*/
9Thiết kế web Khoa CNTT-LHU 17
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 18
Kiểu mảng – array(tt)
10
Thiết kế web Khoa CNTT-LHU 19
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 20
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: ==, ===, !=, !==, , =
11
Thiết kế web Khoa CNTT-LHU 21
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 22
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 "\n";
foreach ($meal as $key => $value)
{
print "$key$value\n";
}
print '';
12
Thiết kế web Khoa CNTT-LHU 23
Hàm
Khái báo 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;
function tên_hàm(ts1, ts2,, tsn) {
//các lệnh trong thân hàm
}
Thiết kế web Khoa CNTT-LHU 24
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...
13
Thiết kế web Khoa CNTT-LHU 25
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 26
Biến tham chiếu
<?php
function Ham1(& $var)
{
$var = $var +10;
}
$var = 5;
Ham1($var);
echo “ Bien\$var co gia tri la: $var";
?>
14
Thiết kế web Khoa CNTT-LHU 27
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 28
Lớp ñối tượng trong PHP
ðịnh nghĩa lớp
15
Thiết kế web Khoa CNTT-LHU 29
Lớp ñối tượng trong PHP
Thiết kế web Khoa CNTT-LHU 30
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
16
Thiết kế web Khoa CNTT-LHU 31
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 32
Xây dựng câu truy vấn dữ liệu
17
Thiết kế web Khoa CNTT-LHU 33
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 34
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];
18
Thiết kế web Khoa CNTT-LHU 35
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 36
Tổng hợp các bước thao tác CSDL MySQL
19
Thiết kế web Khoa CNTT-LHU 37
Một số vấn ñề - MySQL & Font Unicode
<?php
mysql_query(“set names ‘utf-8’”);
?>
Thiết kế web Khoa CNTT-LHU 38
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( );
?>
20
Thiết kế web Khoa CNTT-LHU 39
Include File
Thiết kế web Khoa CNTT-LHU 40
Thao tác với Microsoft SQL Server
21
Thiết kế web Khoa CNTT-LHU 41
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 42
Data Source Name (DSN)
22
Thiết kế web Khoa CNTT-LHU 43
Microsoft Access, MSSQL với ODBC qua Data 
Source Name (DSN)
Thiết kế web Khoa CNTT-LHU 44

File đính kèm:

  • pdfChuong07-PHP.pdf