Cookie

 Dùng để lưu thông tin của người dùng. Cookie được lưu ở máy client, browser quản lý

 Mỗi biến cookie có 1 thời gian quá hạn. Vượt qua thời điểm đó, browser sẽ xóa biến cookie

 Mỗi lần thực hiện request 1 trang, browser sẽ gửi lại các biến cookie chưa hết hạn

 Được đặt trước thẻ

2

COOKIE

 Tạo cookie  Cú pháp

setcookie(“tên”, giá-trị [, thời điểm quá hạn])

 Sử dụng cookie

 $_COOKIE là dãy biến toàn cục sẵn có trong

php

 Cú pháp sử dụng biến cookie $_COOKIE[“TenBien”]

3

COOKIE

COOKIE

 setcookie.php

 viewcookie.php

4

$name = htmlspecialchars($name); $value = htmlspecialchars($value); echo "$name : $value
\n";

5

COOKIE $value){ } } ?>

 Form đăng nhập

COOKIE – ví dụ

Tên

Mật khẩu

Nhớ thông tin này

6

setcookie("ten",$_POST["txtten"],time()+3600)

setcookie("matkhau",$_POST["txtmatkhau"],time

setcookie("ten",$_POST["txtten"],-1); setcookie("matkhau",$_POST["txtmatkhau"],-1);

COOKIE – ví dụ

 xuly.php

7

Session

 Session là đối tượng trên server, chứa

SESSION

thông tin của từng user

 Mỗi user có vùng session riêng biệt  $_SESSION là 1 dãy toàn cục có sẵn

trong php.

9

 Tạo session

 $_SESSION["sessionName"] = value;  $_SESSION["sessionName"][ ]=

SESSION

array(…);  Đọc giá trị session

 if (isset($_SESSION[sessionName"]) echo $_SESSION["sessionName"];

 Xóa bỏ session

 unset($_SESSION["sessionName"]);  session_destroy();

10

 VD

SESSION

11

 Làm thế nào để ngăn không cho người

Ứng dụng Session

dùng truy cập vào các trang web nếu chưa đăng nhập?

 Ý tưởng: dùng các biến Session để lưu trạng thái đăng nhập của người dùng  $_SESSION[“Login”] = 0/1: lưu trạng thái

đăng nhập

 $_SESSION[ “Username”]: lưu tên đăng nhập  $_SESSION[ “Authentication”]: lưu loại quyền

đăng nhập

 …

12

 Tạo trang login.htm yêu cầu người dùng đăng nhập  Tạo trang validateuser.php xử lí thông tin đăng nhập từ

trang login  Kết nối với CSDL, kiểm tra xem thông tin đăng nhập có

đúng hay không

 Nếu không đúng thì cho chuyển hướng đến trang

login.htm

 Nếu đúng thì dùng một biến Session để lưu trạng thái

login thành công lại.

• Ví dụ $_SESSION["IsLogin“] = 1;

 Tạo trang logout.php là trang xử lý khi người dùng logout

 Reset trạng thái login là chưa đăng nhập

• Ví dụ unset($_SESSION[“IsLogin”]);

13

Ứng dụng Session

Tập tin, thư mục

 Hàm thao tác trên file

 res fopen(string $filename, string

$mode)

 bool fclose(res $handle)  int fpassthru (res $handle)

gửi toàn bộ nội dung file đang mở cho browser (binary)

 int readfile (string $filename)

gửi toàn bộ nội dung file đang mở cho browser (text)  string fread(res $handle, int $length)

đọc một khối dữ liệu dài tối đa length (binary)

 int fwrite(res $handle, string $str [,

int $length]) ghi nội dung của chuỗi ra file

15

Quản lý file & thư mục

 Hàm thao tác trên thư mục

 bool chdir ( string $directory ):

Chuyển thư mục hiện hành

 string getcwd (): Trả về thư mục hiện hành  resource opendir (string $path): Mở

một thư mục trước khi đọc nội dung

 void closedir (res $dir_handle): Đóng

thư mục đã mở trước đó

 bool mkdir ( string $pathname): Tạo thư

mục

 bool rmdir ( string $dirname): Xóa thư

mục

16

Quản lý file & thư mục

17

VD hàm xóa thư mục

Form for Uploading a File

A simple form for uploading a file

Enter file name:

name="userfile">


18

File Upload

 userfile: tên của input trong form upload  $_FILES['userfile']['name']  Tên file đã được upload.  $_FILES['userfile']['type']

 Kiểu của file được upload nếu trình duyệt có

thông tin này. Ví dụ "image/gif“

 $_FILES['userfile']['size']

 Kích thước của file đã upload tính bằng byte.

 $_FILES['userfile']['tmp_name']

 Vị trí file được lưu trữ tạm trên server.

 $_FILES['userfile']['error']

 Mã lỗi của việc upload (0 == no error)

19

File Upload

20

File Upload

 Upload theo định dạng file cho trước

21

File Upload

Mail

 PHP hỗ trợ 2 cách sendmail

 PHP mail() –Non Authentication  PHP PEAR package –SMTP Authentication

 Sử dụng mail()

 Cú pháp

mail(to,subject,message,headers,parameters)

Send mail

Key

Description

To

Địa chỉ người nhận

Subject

Chủ đề, không xuống dòng

Message

Nội dung thư

Header

Thông tin thêm (vd: FROM, BCC, CC,…)

23

parameters

Tham số cấu hình cho ứng dụng gửi mail

replymail@yahoo.com";

// gửi email $mail_sent = mail( $to, $subject, $message, $headers ); // kiểm tra gửi thành công và thông báo echo $mail_sent ? "Mail sent" : "Mail failed"; ?>

24

Send mail