Tải bản đầy đủ (.pdf) (65 trang)

PHP căn bản cho các bạn mới bước chân vào

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.35 MB, 65 trang )

Tài liệu Công nghệ web và ứng dụng – Phần 2: PHP
1

MỤC LỤC

I. Cơ bản 3
1. Giới thiệu 3
2. Bạn cần gì trước khi bắt tay vào làm việc với PHP 3
2.1. Kiến thức 3
2.2. Công cụ cần thiết 3
3. Cú pháp của PHP 11
3.1. Mã lệnh PHP được đặt ở đâu? 11
3.2. Ghi chú 11
3.3. Cách đặt tên biến và các vấn đề liên quan 12
3.4. Các toán tử và cách sử dụng 13
3.5. Các cấu trúc lệnh cơ bản 14
3.6. Kiểu dữ liệu chuỗi – string 18
3.7. Kiểu dữ liệu mảng – array 20
3.8. Hàm 22
3.9. Xử lý giá trị form trong PHP 26
3.10. $_GET function 28
3.11. $_POST function 29
II. Nâng cao 30
1. Include 30
2. Xử lý cookies 31
3. Xử lý sessions 33
4. Biến toàn cục, biến tĩnh 36
a. Sử dụng biến toàn cục 36
b. Sử dụng biến tĩnh 38
5. Hướng đối tượng trong PHP 38
III. Cơ bản về ngôn ngữ SQL và Mysql 40


IV. Kết hợp PHP và MYSQL trong ứng dụng website 46

Tài liệu Công nghệ web và ứng dụng – Phần 2: PHP
2









































Tài liệu Công nghệ web và ứng dụng – Phần 2: PHP
3

I. Cơ bản
1. Giới thiệu
PHP (Hypertext Preprocessor) là một công cụ mạnh mẽ để tạo ra các trang web
tương tác động. Bạn có thể tải về và sử dụng PHP hoàn toàn miễn phí. Chính vì vậy,
nó được sử dụng rộng rãi và là đối thủ khá nặng ký cho ASP của Microsoft.

PHP là ngôn ngữ phía máy chủ, nghĩa là mã lệnh PHP được thực thi trên máy
chủ, các file PHP sẽ được server xử lý và trả về dạng file HTML thuần túy cho trình
duyệt của phía client. Một file PHP có thể chứa text, các thẻ HTML và mã lệnh của
ngôn ngữ PHP. Các phần mở rộng của 1 file PHP gồm có: .php/ .php3/ .phtml. PHP
hỗ trợ truy xuất nhiều cơ sở dữ liệu khác nhau như: MySQL, Oracle, SyBase, ODBC,



2. Bạn cần gì trước khi bắt tay vào làm việc với PHP
2.1. Kiến thức
Trước khi bắt tay học PHP, bạn cần có kiến thức cơ bản về:
- HTML/XHTML
- JavaScript
2.2. Công cụ cần thiết
Thông thường khi tìm hiểu về PHP, ta thường sử dụng localhost để thực thi
và kiểm tra kết quả. Để localhost hỗ trợ PHP, bạn cần cài đặt các phần mềm sau:

PHP:
MySQL:
Appache server:

1. Web Server là gì?
Web Server (máy phục vụ Web): máy tính mà trên đó cài đặt phần mềm phục vụ
Web, đôi khi người ta cũng gọi chính phần mềm đó là Web Server.
Tất cả các Web Server đều hiểu và chạy được các file *.htm và *.html, tuy nhiên mỗi
Web Server lại phục vụ một số kiểu file chuyên biệt chẳng hạn như IIS của Microsoft
dành cho *.asp, *.aspx ; Apache dành cho *.php ; Sun Java System Web Server của
SUN dành cho *.jsp
2. Nên chọn webserver nào?
Tùy thuộc vào các ngôn ngữ lập trình web mà chúng ta sẽ chọn webserver cho phù
hợp. Để cài đặt webserver chạy PHP thì chúng ta nên dùng Apache.
Một webserver có thể chạy được các ứng dụng của PHP phải tồn tại những thành
phần cơ bản sau: Apache – PHP – MySQL. Vài năm về trước chúng ta thường phải cài
đặt từng phần riêng biệt để chạy được ứng dụng PHP nhưng nay đã có gói webserver chỉ
cần cài đặt một lần đã đầy đủ các thành phần cơ bản trên như: AppServ – Wamp –
Tài liệu Công nghệ web và ứng dụng – Phần 2: PHP
4


Xampp … các bạn có thể chọn một trong các gói webserver này để cài đặt là có thể chạy
được ứng dụng PHP
Có thể sử dụng gói webserver XAMPP vì những lý do sau:
- Ngoài việc hỗ trợ các thành phần căn bản như: Apache – PHP – MySQL –
phpMyAdmin. Xamp còn hỗ trợ các thành phần khác mà một số webserver khác không
có như Webmail – FTP – SSL – Perl
- Cách sử dụng của Xampp dễ dàng
- Hỗ trợ đầy đủ các thư viện mở rộng của PHP đồng thời tích hợp thư viện PEAR
(Xem thêm thông tin tại
3. Cài đặt Xampp
Bạn có thể download Xampp tại địa chỉ:
hoặc

Sau khi download về bạn chạy file cài đặt


Nhấn nút ok để tiếp tục


Tài liệu Công nghệ web và ứng dụng – Phần 2: PHP
5

Nhấn nút Next



Chọn ổ đĩa và thư mục bạn cài đặt Xampp và sau đó nhấn Next




Tài liệu Công nghệ web và ứng dụng – Phần 2: PHP
6

Chúng ta chỉ nên đánh dấu vào vùng màu đỏ còn các phần còn lại không nên đánh
dấu vì nếu đánh dấu thì các dịch vụ như Apache – MySQL – Filezilla sẽ được chạy ngay
khi các bạn khởi động Window. Theo kinh nghiệm của tôi các bạn chỉ nên chạy Xampp
khi nào chúng ta muốn chạy PHP script mà thôi.

Quá trình cài đặt của Xampp


Quá trình cài đặt của Xampp
Tài liệu Công nghệ web và ứng dụng – Phần 2: PHP
7



Sau khi cái đặt xong chúng ta nhấn nút Finish để hoàn thành quá trình cài đặt.



Khi nhấn nút Finish sẽ hiện ra một cửa số hỏi chúng ta có muốn chạy Xampp bây
giờ không. Chúng ta chọn Yes để bắt đầu vào bảng điều khiển của Xampp
Để chạy được webserver và PHP script chúng ta nhấn nút Start bên cạnh Apache và
MySQL. Chúng ta sẽ được như hình dưới

Tài liệu Công nghệ web và ứng dụng – Phần 2: PHP
8




Thông thường lần đầu tiên nhấn vào các nút Start chúng ta thường nhận được một
cửa sổ thông báo.



Chúng ta hãy nhấn vào nút Unblock.
Tài liệu Công nghệ web và ứng dụng – Phần 2: PHP
9



Nhấn vào nút Admin bên cạnh Apache để vào trang chính của webserver và nhấn
vào nút Admin bên cạnh MySQL để vào phpMyAdmin (phần quản lý MySQL qua giao
diện web)
Khi nhấn vào nút Admin bên cạnh Apache chúng ta được giao diện web như sau

Nhấn vào link English
Tài liệu Công nghệ web và ứng dụng – Phần 2: PHP
10


Để xem thông tin về PHP bạn nhấn vào phpinfo() và phpMyAdmin để vào phần
quản lý MySQL qua giao diện web.
Chú ý:
- Để vào được Xampp chúng ta có thể gõ lên trình duyệt http://localhost/
- Để đóng bảng điều khiển của Xampp, bạn nhấn vào nút Close. Xampp sẽ tạm
thời ẩn xuống Tray của Window (góc dưới phía bên phải của Window)
- Khi cần mở bảng điểu khiển chúng ta chỉ cần nhấn vào biểu tượng ở Tray của
Window

- Để thoát khỏi Xampp đầu tiên chúng ta nhấn nút Stop ở bên cạnh Apache và
MySQL sau đó nhấn nút Exit

Tài liệu Công nghệ web và ứng dụng – Phần 2: PHP
11

3. Cú pháp của PHP
3.1. Mã lệnh PHP được đặt ở đâu?
Hỏi
Như đã nói ở phần trên, một file PHP không phải hoàn toàn chỉ chứa mã
lệnh PHP. Như vậy, làm sao máy chủ PHP có thể biết được đâu là mã lệnh
PHP, đâu không phải mã lệnh PHP?

Trả lời
Mã lệnh PHP phải được đặt ngay trong thẻ sau:

<?php Mã lệnh PHP cần thực thi ?>
hoặc
<? Mã lênh PHP cần thực thi ?>

Ví dụ:
//
<html>
<body>

<?php
echo “Hello world!”;
?>

</body>

</html>
//
Ví dụ này sẽ xuất ra dòng “Hello world!” trên trình duyệt.

3.2. Ghi chú
Hỏi
Trong khi viết mã lệnh, việc ghi chú lại những gì mình đã viết là rất cần
thiết cho việc đọc lại cũng như chia sẻ mã lệnh sau này. Vậy làm sao để chú
thích trong PHP?

Trả lời
Để chú thích trong PHP, ta sử dụng các cú pháp sau:
// sử dụng cú pháp này để ghi chú cho 1 dòng.


Tài liệu Công nghệ web và ứng dụng – Phần 2: PHP
12

Hoặc
/*
Sử dụng cú pháp này để ghi chú cho nhiều dòng
Đây là dòng ghi chú thứ 2

*/

3.3. Cách đặt tên biến và các vấn đề liên quan
- Để khai báo sử dụng một biến trong PHP, người ta đặt ngay trước tên biến
ký tự $. Như vậy, tên biến trong PHP gồm có 2 phần:
$+tênBiến
Ví dụ

// khai báo một biến mới
$a;
$b2, $b3;

// khai báo, đồng thời gán giá trị cho biến
$x0 = 0, $x = 10;
$x1 = “hello world!”;

// sử dụng giá trị sẵn có của biến
$a = $x0 + $x;

- Phần tên biến được đặt theo qui tắc sau:
o Tên biến phải được bắt đầu bằng 1 ký tự chữ (a-z, A-Z) hoặc 1 ký tự
gạch dưới ( _ ).
o Phần còn lại của tên biến chỉ có thể chứa số (0-9), chữ (a-z, A-Z) và ký
tự gạch dưới ( _ ).
Hỏi
Nếu tên biến có nhiều hơn một từ thì phải làm sao?
Trả lời
Phần tên biến không thể chứa khoảng trắng, vì vậy, nếu tên biến có nhiều
hơn một từ thì ta có thể sử dụng ký tự gạch dưới để phân cách giữa các từ hoặc
bắt đầu mỗi từ là 1 ký tự viết hoa.
Ví dụ
$day_la_bien_01, $dayLaBien02;
Hỏi
Khi khai báo biến, tôi không thấy có phần mô tả về kiểu dữ liệu của biến.
Vậy làm sao tôi biết biến tôi vừa khai báo thuộc kiểu dữ liệu nào?
Tài liệu Công nghệ web và ứng dụng – Phần 2: PHP
13



Trả lời
Trong PHP, ta không cần phải xác định kiểu dữ liệu của một biến khi biến
đó được khai báo. Khi bạn gán giá trị cho một biến, PHP tự động xác định và
chuyển kiểu dữ liệu của biến đó thành kiểu dữ liệu của giá trị được gán.
Ví dụ
// biến $x được khai báo và gán giá trị, $x đang có kiểu chuỗi.
$x = “Hello world”;

// thay đổi giá trị của biến $x thành 16, lúc này $x được hiểu là có kiểu nguyên.
$x = 16;

3.4. Các toán tử và cách sử dụng
Toán tử số học
Toán tử Mô tả Ví dụ Kết quả
+ Cộng x=2
x+2
4
- Trừ x=2
5-x
3
* Nhân x=4
x*5
20
/ Chia 15/5
5/2
3
2.5
% Lấy số dư của phép chia 5%2
10%2

1
0
++ Tăng lên 1 đơn vị x=5, x++ x=6
Giả đi 1 đơn vị x=5, x x=4

Toán tử gán
Toán tử Ví dụ Nghĩa là
= x=y x=y
+= x+=y x=x+y
-= x-=y x=x-y
*= x*=y x=x*y
/= x/=y x=x/y
.= x.=y x=x.y
%= x%=y x=x%y


Tài liệu Công nghệ web và ứng dụng – Phần 2: PHP
14

Toán tử so sánh
Toán tử Mô tả Ví dụ
== So sánh bằng 5==8 returns false
!= So sánh không bằng 5!=8 returns true
<> So sánh không bằng 5<>8 returns true
> So sánh lớn hơn 5>8 returns false
< So sánh nhỏ hơn 5<8 returns true
>= So sánh lớn hơn hoặc bằng 5>=8 returns false
<= So sánh nhỏ hơn hoặc bằng 5<=8 returns true

Toán tử logic

Toán tử Mô tả Ví dụ
&& và x=6
y=3
(x < 10 && y > 1) returns true
|| hoặc x=6
y=3
(x==5 || y==5) returns false
! phủ định x=6
y=3
!(x==y) returns true

3.5. Các cấu trúc lệnh cơ bản
3.5.1. if
Là biểu thức dùng kiểm tra 1 sự kiện. Nếu chúng thỏa điều kiện đó thì sẽ thực
thi một hành động. Ngược lại sẽ là một hành động khác.
o if
//
if (biểu thức điều kiện)
khối lệnh được thực hiện khi điều kiện đúng;
//

o if … else
//
if (biểu thức điều kiện)
khối lệnh được thực hiện khi điều kiện đúng;
else
khối lệnh được thực hiện khi điều kiện sai;

//
Tài liệu Công nghệ web và ứng dụng – Phần 2: PHP

15

o if … else if … else
//
if (biểu thức điều kiện 1)
khối lệnh được thực hiện khi điều kiện 1 đúng;
else if (biểu thức điều kiện 2)
khối lệnh được thực hiện khi điều kiện 1 sai và 2 đúng;
else
khối lệnh được thực hiện khi điều kiện 1 sai và 2 sai;
//
Ví dụ:


3.5.2. switch
//
switch (n)
{
case label1:
khối lệnh được thực hiện khi n = label1;
break;
case label2:
khối lệnh được thực hiện khi n = label2;
break;
default:
khối lệnh được thực hiện với n bất kỳ;
}
//









Tài liệu Công nghệ web và ứng dụng – Phần 2: PHP
16

Ví dụ:


3.5.3. Vòng lặp while
o while
//
while (biểu thức điều kiện)
{
Khối lệnh được thực hiện lặp lại nếu điều kiện còn đúng;
}
//
Ví dụ:


o do … while
//
do
{
Khối lệnh được thực hiện lặp lại khi điều kiện còn đúng;
}while (biểu thức điều kiện);
//

Ví dụ:
Tài liệu Công nghệ web và ứng dụng – Phần 2: PHP
17




Hỏi
While và do … while khác nhau chỗ nào?
Trả lời
Bước

While Do … while
1 Kiểm tra biểu thức điều kiện Thực hiện khối lệnh lặp
2 Nếu biểu thức điều kiện đúng thì
tiến hành thực hiện khối lệnh lặp,
sau đó quay lại bước 1.
Nếu không thì thực hiện tiếp các
câu lệnh bên dưới khối lệnh while.
Kiểm tra biểu thức điều kiện.
Nếu biểu thức điều kiện đúng thì
quay lại bước 1.
Nếu không thì thực hiện tiếp các câu
lệnh bên dưới khối lệnh do … while.

3.5.4. Vòng lặp for
for (khởi tạo; biểu thức điều kiện; thay đổi giá trị)
{
Khối lệnh được thực hiện lặp;
}


Hỏi
Vòng lặp for hoạt động như thế nào?
Trả lời
Bước 1: Khởi tạo giá trị ban đầu, thông thường là khởi tạo giá trị cho 1 biến
đếm cụ thể.
Bước 2: Thực hiện khối lệnh lặp 1 lần.
Bước 3: Thay đổi giá trị của biến ban đầu.
Bước 4: Kiểm tra biểu thức điều kiện.
Nếu đúng thì quay lại bước 2.
Nếu sai thì thoát khỏi vòng lặp và tiếp tục thực hiện các câu lệnh bên
dưới khối lệnh for.
Ví dụ
Tài liệu Công nghệ web và ứng dụng – Phần 2: PHP
18

//
$x = 0;
for($i = 0; $i < 10; $i++)
{
$x += $i;
}
//

Sau khi thực hiện khối lệnh trên, biến $x sẽ là tổng các giá trị nguyên từ 0
đến 9.

3.6. Kiểu dữ liệu chuỗi – string
Biến kiểu chuỗi được dùng để lưu trữ và thao tác trên văn bản. Trong PHP,
một chuỗi có thể được sử dụng trực tiếp hoặc lưu trữ và thao tác gián tiếp qua

một biến kiểu chuỗi.

Một số hàm xử lý chuỗi thông dụng

Toán tử nối chuỗi
Dùng để nối 2 chuỗi bất kỳ thành 1 chuỗi.
Cú pháp
$txt = “chuỗi 01”
.
“chuỗi 02”;

Ví dụ
//
<?php
$a = “Hello”;
$b = “World!”;
$txt = $a
.
“ ”
.
$b;
echo $txt;
?>
//
Đoạn mã trên sẽ xuất ra câu “Hello World!”.

Hàm strlen()
Trả về độ dài của một chuỗi.

Ví dụ

Tài liệu Công nghệ web và ứng dụng – Phần 2: PHP
19

//
<?php
$a = “Hello”;
$b = “World!”;
$txt = $a
.
“ ”
.
$b;
echo strlen($txt);
echo ‘<br/>’;
echo strlen(“Hello World!”);
?>
//
Đoạn mã trên sẽ xuất ra câu:
12
12

Hàm strpos()
Trả về vị trí (tính theo ký tự) xuất hiện đầu tiên của chuỗi a trong chuỗi b.
Nếu chuỗi a không tồn tại trong chuỗi b, strpos() sẽ trả về FALSE.

Ví dụ
//
$a = “world”;
$b = “hello world! This is a new world!”;
echo strpos($b, $a);

//
Kết quả là: 6

Hỏi
Tại sao ví dụ trên lại trả về 6 mà không phải là 7??

Trả lời
PHP xem ký tự đầu tiên của chuỗi được đánh thứ tự bắt đầu từ 0.







Tài liệu Công nghệ web và ứng dụng – Phần 2: PHP
20

3.7. Kiểu dữ liệu mảng – array
Trong PHP có 3 loại mảng:

Numeric array

Lưu trữ giá trị vào mảng
<?php
$cars=array("Saab","Volvo","BMW","Toyota");

//hoặc

$cars[0]="Saab";

$cars[1]="Volvo";
$cars[2]="BMW";
$cars[3]="Toyota";
?>


Lấy giá trị của 1 phần tử trong mảng
$a = $cars[0]; $b = $cars[3];




Associative array

Lưu trữ giá trị vào mảng
<?php
$ages = array("Peter"=>32, "Quagmire"=>30, "Joe"=>34);

//hoặc

$ages['Peter'] = "32";
$ages['Quagmire'] = "30";
$ages['Joe'] = "34";
?>


Lấy giá trị của 1 phần tử trong mảng
echo "Peter is " . $ages['Peter'] . " years old.";
//kết quả: Peter is 32 years old.


Tài liệu Công nghệ web và ứng dụng – Phần 2: PHP
21


Multidimensional array

Lưu trữ giá trị vào mảng
<?php
$families = array(
"Griffin"=>array("Peter","Lois", "Megan"),
"Quagmire"=>array("Glenn"),
"Brown"=>array("Cleveland","Loretta","Junior")
);
?>


Lấy giá trị của 1 phần tử trong mảng
echo $families["Brown"][0];
//kết quả: Cleveland


Phép lặp trong mảng:

Cú pháp:
foreach ($array as $temp)
{ Hành Động }

Trong đó $array là mảng mà ta muốn thực thi việc lặp dữ liệu, và $temp là một
biến trong đó ta sẽ tạm thời lưu trữ mỗi phần tử.
Ví dụ:


<?php
$name= array("Kenny", "Jiro", "Calvin", "Gillian");
foreach ($name as $test)
{ echo "$test<br>"; }
?>

b) Lặp lại qua một mảng kết hợp:

Cú pháp:
foreach($array as $key=>$value)
{ Hành Động }
Tài liệu Công nghệ web và ứng dụng – Phần 2: PHP
22

Trong đó $array là mảng mà ta muốn thực thi việc lặp dữ liệu, $key là một biến
vốn tạm thời chứa mỗi khóa, và $value là một biến vốn tạm thời chữa mỗi giá trị.
Ví dụ:

<?php
$person= array(name=>"Kenny", job=>"Teacher",
email=>"", age=>"38");
foreach($person as $key=>$test)
{
echo "Key: $key. Gia Tri: $test<br>";
}
?>

Các hàm hỗ trợ trong PHP:


+ Hàm gộp mảng:
Cú pháp: array_merge($mang1, $mang2);

+ Hàm tách mảng:
Cú pháp: array_slice($mang, vị trí tách, số lượng tách);

+ Hàm sắp xếp mảng:
Cú pháp: sort($mảng);

+ Hàm sắp xếp mảng theo chỉ mục:
Cú pháp: ksort($mảng);

+ Hàm tìm phần tử có tồn tại trong mảng hay không ?.
Cú pháp: in_array(giá trị tìm, $mảng);

3.8. Hàm
Cú pháp

function tenHam($doiSo1, $doiSo2, …)
{
//các thao tác cần thực hiện trong hàm này
return $value; //hàm có thể trả về hoặc không cần
trả về giá trị
}
Tài liệu Công nghệ web và ứng dụng – Phần 2: PHP
23


Ví dụ
//hàm không có đối số

function xinChao()
{
Echo ‘Xin chao!’;
}

//hàm có đối số
function cong($a,$b)
{
return $a+$b;
}

Để giảm thời gian lặp lại 1 thao tác code nhiều lần, PHP hỗ trợ người lập trình
việc tự định nghĩa cho mình những hàm có khả năng lặp lại nhiều lần trong website. Việc
này cũng giúp cho người lập trình kiểm soát mã nguồn một cách mạch lạc. Đồng thời có
thể tùy biến ở mọi trang. Mà không cần phải khởi tạo hay viết lại mã lệnh như HTML
thuần.

1- Hàm tự định nghĩa:

Cú pháp:

function functiono_name()
{
//Lệnh thực thi
}

Tên hàm có thể là một tổ hợp bất kỳ những chứ cái, con số và dấu gạch dưới,
nhưng phải bắt đầu từ chứ cái và dấu gạch dưới.

Ví dụ:


<?php
function name()
{
$name= array("Kenny", "Jiro", "Calvin", "Gillian");
foreach ($name as $test)
Tài liệu Công nghệ web và ứng dụng – Phần 2: PHP
24

{
echo "$test<br>"; }
}
name();
?>

2- Hàm tự định nghĩa với các tham số:

Cú pháp:

function function_name($gt1,$gt2)
{
//Hành động
}

Ví dụ:

<?php
function indulieu($text)
{
echo "$text<br>";

}

indulieu("welcome");
indulieu("who are you ?");
?>

3- Hàm tự định nghĩa với giá trị trả về:

Cú pháp:

function function_name(Có hoặc không có đối số)
{
//Thuc thi
return giatri;
}

Ví dụ:
<?php
Tài liệu Công nghệ web và ứng dụng – Phần 2: PHP
25

function tinhtong($a,$b)
{
$total=$a+$b;
return $total;
}
echo tinhtong(19,31)
?>

4-Gọi lại hàm trong PHP:


PHP cung cấp nhiều hàm cho phép triệu gọi lại file. Như hàm include("URL
đến file"), require("URL Đến file").
Ngoài hai cú pháp trên còn có include_once(), require_once(). Hai hàm này
cũng có trách nhiệm gọi lại hàm. Những chúng sẽ chỉ gọi lại duy nhất 1 lần mà thôi.

Ví dụ: Tạo file top.html với nội dung:

<html><head><title>Welcome to you</title></head>
<body>
<table border=1 width=700>
<tr><td colspan=5 align=center>Banner</td></tr>
<tr>
<td align=center> Home </td>
<td align=center> News </td>
<td align=center> Music </td>
<td align=center> Download</td>
<td align=center> Contact</td></tr>

Tạo file body.html với nội dung:

<tr><td colspan=5 align=center>
Noi dung website
</td>
</tr>






×