Khái niệm về Cookie tt Các điều khiển xử lý thông tin lưu, lấy do server thực hiện Thường được sử dụng để lưu thông tin cá nhân của client Khả năng tạo cookie phụ thuộc và trình du
Trang 1Phát Triển Phần Mềm Mã Nguồn Mở
Phạm Đình Sắc
sacvn@yahoo.com
Trang 31 Khái niệm về Cookie
Mỗi lần client gửi Requset 1 trang web, đồng thời sẽ gửi cookie
Trang 41 Khái niệm về Cookie (tt)
Các điều khiển xử lý thông tin (lưu, lấy) do server thực hiện
Thường được sử dụng để lưu thông tin cá nhân của client
Khả năng tạo cookie phụ thuộc và trình duyệt và sự cho phép của client
Để xem các cookies (trình duyệt ?)
Trang 51.1 Thiết lập cookie
setcookie (name, value, expire, path, domain)
Name: Tên cookie
Value: giá trị được đặt cho cookie
Expire: Thời gian hết hạn của cookie
Path: Đường dẫn mà cookie gởi đi
Domain: Xác định domain cookie được gởi đi
Trang 6VD: lưu thông tin đăng nhập
Trang 7Chú ý: Thiết lập cookie
- Lệnh Setcookie phải được gọi trước trước <HTML>, echo, print…
- Thời gian hết hạn của cookie Thường dùng hàm time() + số giây
- Vd: time() +60*60*24*30 30 ngày
Trang 92 Session
Là thông tin về client được server lưu trên máy của server
Sử dụng cookie lưu định danh duy nhất cho từng client
Trang 11Ghi & Đọc & Huỷ giá trị Session
Trang 13Ứng dụng session
Làm thế nào để ngăn không cho người 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[“access”] = 0/1 : Lưu trạng thái đăng nhập (hoặc lưu yes/no)
$_SESSION[ “Username”] : Lưu Tên đăng nhập
$_SESSION[ “Authentication”] : Lưu Loại quyền đăng
nhập
Trang 141 Tạo trang login.php
2 Tạo trang access.php xử lí thông tin đăng nhập từ login.php
– 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 redirect đến login.php
– Còn 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[“access“] = ‘yes’
• Lưu ý là phải đặt giá trị mặc định cho biến này là 0 hoặc no khi khởi tạo một Session.
3 Tạo trang logout.php Reset trạng thái login là chưa đăng nhập
Trang 16headrer(Location:login.php )
}
?>
access.php
Trang 2020
Trang 213 Upload File
Trang 22Mảng $_FILE
Trang 23MÃ LỖI
Trang 243.1 Cơ chế Upload File
Trang 25Thiết kế Form cho phép Upload File
Trang 26Kiểm tra Lỗi, Định dạng & Kích thước File
Trang 27Xử lý lưu File lên Server
move_uploaded_file (tmp_name, saved_name)
Trang 28Cấu hình phân quyền WRITE cho thự mục upload
Trang 3030
Trang 314 Send Mail
Cơ chế gửi Email
• PHP mail() - Non Authentication
Trang 3232
Trang 354 Send Mail
Gửi mail sử dụng Outlook
• PHP mail() - Non Authentication
Trang 36Gửi mail sử dụng cấu hình trong Mail Client - Outlook
Trang 374 Send Mail
Gửi mail sử dụng Web Mail
• PHP mail() - Non Authentication
Trang 38Gửi mail sử dụng PHP mail() - Non Authentication
mail (to, subject, message, headers)
Key Mo tả
SUBJECT
Tiêu đề Email (không được chứa ký tự dòng)
MESSAGE Nội dung Email
HEADERS
FROM, CC, BCC… Các thông tin này nên phân cách bằng ký tự xuống dòng (\r\n)
Trang 39TO
Trang 40Cấu hình mặc định của PHP mail() – Non Authentication
Cấu hình mặc định được định nghĩa trong file php.ini
Trang 41// VD: Send mail
Trang 424 Send Mail
Gửi mail sử dụng Web Mail
• PHP PEAR package - SMTP Authentication
Trang 43Gửi mail sử dụng PHP PEAR package – SMTP Authentication
Trang 44VD: Send mail - authentication
Trang 45Date Format
<?php
// Assuming today is: March 10th, 2012, 5:16:18 pm
$today = date("F j, Y, g:i a"); // March 10, 2012, 5:16 pm
$today = date('\i\t \i\s \t\h\e jS \d\a\y.'); // It is the 10th day.
$today = date("D M j G:i:s T Y"); // Sat Mar 10 15:16:08 MST 2012
Trang 47// Write the string at the top left
imagestring($im,5,0,0,'Hello world!', textcolor);
// Output the image
header('Content-type: image/png');
Trang 48Thanks