Bài giảng - Giáo án: Tài liệu nâng cao lập trình bằng ngôn ngữ PHP

31 552 0
Bài giảng - Giáo án: Tài liệu nâng cao lập trình bằng ngôn ngữ PHP

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

THIẾT KẾ VÀ LẬP TRÌNH WEB 1 Lập Trình Web PHP Nâng Cao ĐẠI HỌC SÀI GÒN – KHOA CNTT GV: Trần Đình Nghĩa tdnghia1977@gmail.com THIẾT KẾ VÀ LẬP TRÌNH WEB 2 Nội dung 1. Upload File 2. Gửi Email 3. Cookies 4. Sessions THIẾT KẾ VÀ LẬP TRÌNH WEB 3  Cơ chế Upload File  Thiết kế Form cho phép Upload File  Xử lý Lưu File upload lên server  Kiểm tra lỗi, định dạng, kích thước File upload Upload File THIẾT KẾ VÀ LẬP TRÌNH WEB 4 Internet / Intranet Yêu cầu trang upload.php File Cơ chế Upload File Driver Web Browser Upload.php • $_FILES[“file"]["name"] • $_FILES[“file"]["type"] • $_FILES[“file"]["size"] • $_FILES[“file"]["tmp_name"] • $_FILES["file"]["error"] • move_uploaded_file(tmpName,savedName) • file_exists(savedName) THIẾT KẾ VÀ LẬP TRÌNH WEB 5  Thiết lập thuộc tính Form  Method : POST  Enctype: multipart/form-data UploadForm.htm <FORM method="POST" action=“upload.php“ enctype="multipart/form-data"> <input type="FILE" name =“myfile" ><br> <input type="submit" value=“Submit"> </FORM> Thiết kế Form cho phép Upload File THIẾT KẾ VÀ LẬP TRÌNH WEB 6  move_uploaded_file(tmp_name, saved_name) Upload.php <?php move_uploaded_file( $_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]); echo "Upload: " . $_FILES["file"]["name"] . "<br />"; echo "Type: " . $_FILES["file"]["type"] . "<br />"; echo "Size: " . ($_FILES["file"]["size"] / 1024) . “Kb<br/>"; echo “Temp. Stored in: " . $_FILES["file"]["tmp_name"]; ?> Xử lý lưu File lên File System trên Server THIẾT KẾ VÀ LẬP TRÌNH WEB 7 Upload.php <?php if (($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") && ($_FILES["file"]["size"] < 20000)) { if ($_FILES["file"]["error"] > 0) { echo “Error Code: " . $_FILES["file"]["error"] . "<br/>"; } else{ // Xu ly luu file } } ?> Kiểm tra lỗi, định dạng và kích thước file THIẾT KẾ VÀ LẬP TRÌNH WEB 8 PHP Warning: move_uploaded_file(upload/14.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in . Cấu hình phân quyền WRITE cho thư mục Upload THIẾT KẾ VÀ LẬP TRÌNH WEB 9  Cơ chế gửi Email  Gửi mail sử dụng Outlook  Gửi mail sử dụng Web Mail  PHP mail() – Non Authentication  PHP PEAR package – SMTP Authentication Gửi Email THIẾT KẾ VÀ LẬP TRÌNH WEB 10 Mail Client Web Server Cơ chế gửi email Internet / Intranet Internet / Intranet mail(to,subject,message…) [...]... http://www.quirksmode.org/js/cookies.html  Google … 29 ĐẠI HỌC SÀI GÒN – KHOA CNTT THIẾT KẾ VÀ LẬP TRÌNH WEB Lập Trình Web THỰC HÀNH PHP Nâng Cao GV: Tr ần Đình Nghĩa tdnghia1977@gmail.com 30 Bài thực hành PHP – Lập trình với CSDL  Xem demo một số ví dụ THIẾT KẾ VÀ LẬP TRÌNH WEB  Code lại các bài đã minh hoạ 31 ... khảo  PHP Cookbook, 2nd Edition,David Sklar & Adam Trachtenberg , O'Reilly , 2006  Learning PHP and MySQL, Michele Davis & Jon Phillips , O'Reilly, June 2006 THIẾT KẾ VÀ LẬP TRÌNH WEB  Learning PHP 5, David Sklar, O'Reilly, June 2004  http://www.w3schools.com/JS/js_cookies.asp  http://www.quirksmode.org/js/cookies.html  Google … 29 ĐẠI HỌC SÀI GÒN – KHOA CNTT THIẾT KẾ VÀ LẬP TRÌNH WEB Lập Trình. ..THIẾT KẾ VÀ LẬP TRÌNH WEB Ví dụ cấu hình gửi email sử dụng GMAIL 11 Gởi mail sử dụng cấu hình trong Mail-Client  Sử dụng mailto THIẾT KẾ VÀ LẬP TRÌNH WEB  Format: mailto:address[?key=setting][&key=setting] … Key Ý nghĩa SJT Tiêu đề Email CC Danh sách địa chỉ Email người nhận, mỗi địa chỉ cách nhau bằng dấu chấm phẩy (;) BCC... 'cc@example.com';  $headers['Reply-To'] = 'from@example.com'; 4 Kiểm tra lỗi gửi mail  if (PEAR::isError($mail)) echo($mail->getMessage()); 16 Ví dụ < ?php require_once "Mail .php" ; $host = “smtp.gmail.com"; $username = “ttbhanh@gmail.com"; $password = "smtp_password"; $to = “noname@yahoo.com”; $headers = array ('From' => ’ttbhanh@gmail.com’, 'Subject' => ‘Test send mail’); THIẾT KẾ VÀ LẬP TRÌNH WEB $smtp = Mail::factory('smtp',... địa chỉ cách nhau bằng dấu chấm phẩy (;) Nội dung Email 12 Sử dụng PHP mail() – Non Authentication  mail(to,subject,message,headers,parameters) Key Specifies TO Địa chì email người nhận SUBJECT Tiêu đề Email (KHÔNG được chứa ký tự xuống dòng) MESSAGE Nội dung Email THIẾT KẾ VÀ LẬP TRÌNH WEB HEADERS PARAMETERS Thông tin thêm (vd: FROM, BCC, CC,…) Các thông tin này nên phân cách nhau bằng ký tự xuống... hết hạn hết hạn  THIẾT KẾ VÀ LẬP TRÌNH WEB  Path : đường dẫn mà cookie được gởi đi  Domain : xác định tên miền mà cookie được gởi đi  Bắt buộc phải xuất hiện trước thẻ  Lấy giá trị cookie  echo $_COOKIE[“cookieName"];  Xóa cookie  setcookie(“cookieName", "", time( )-3 600); 19 Ví dụ cookies  Lưu thông tin đăng nhập cookie $_COOKIE[fieldName] THIẾT KẾ VÀ LẬP TRÌNH WEB Lưu username & password...  Ghi & Đọc giá trị Session THIẾT KẾ VÀ LẬP TRÌNH WEB  $_SESSION[“sessionName”] = value  $_SESSION[“sessionName”][ ] = array(…)  if (isset($_SESSION[“sessionName"]) echo $_SESSION[“sessionName"];  Hủy Session  session_destroy(); 22 Cấu hình session  Cấu hình trong php. ini  ini_set(‘parameter’, value);  Gọi trước hàm session_start(); THIẾT KẾ VÀ LẬP TRÌNH WEB Parameter Default session.auto_start... thêm đoạn mã sau để kiểm tra người dùng đã login hay chưa, nếu chưa thì redirect lại trang login.htm < ?php THIẾT KẾ VÀ LẬP TRÌNH WEB session_start(); if ($_SESSION["IsLogin“] != 1) header(“Location: login.htm“); ?> 27 So sánh Database/File Session (client1) cookies Session (client2) THIẾT KẾ VÀ LẬP TRÌNH WEB cookies Internet / Intranet Web servers Clients Thông tin chia sẽ Vị trí Thời gian lưu trữ tồn... cho ứng dụng gửi mail 13 Cấu hình chuẩn của PHP mail() – Non Authentication  Cấu hình mặc định được định nghĩa trong file php. ini Default SMTP Ý nghĩa localhost DSN hoặc IP Address của SMTP THIẾT KẾ VÀ LẬP TRÌNH WEB Server smtp_port 25 Port của SMTP sendmail_from NULL Địa chỉ người gửi sendmail_path NULL Đường dẫn đến ứng dụng gửi mail (UNIX) 14 Ví dụ < ?php // định nghĩa email người nhận $to = ‘noname@yahoo.com';... Authentication 1 Sử dụng PEAR package Mail .php  require_once(‘Mail .php ); 2 Khởi tạo thể hiện để gửi mail sử dụng Mail::factory()  $smtp = Mail::factory(‘smtp’, $params);  $params[“host”] = “hostname”;  $params[“auth”] = true;  $params[“username”] = “smtp_username”;  $params[“password”] = “smtp_password”; THIẾT KẾ VÀ LẬP TRÌNH WEB 3 Gửi mail sử dụng hàm send()  $mail = $smtp->send($to, $headers, $message) . echo($mail->getMessage()); Gởi mail sử dụng PHP Pear package – SMTP Authentication THIẾT KẾ VÀ LẬP TRÌNH WEB 17 < ?php require_once "Mail .php& quot;; $host = “smtp.gmail.com"; $username. File THIẾT KẾ VÀ LẬP TRÌNH WEB 4 Internet / Intranet Yêu cầu trang upload .php File Cơ chế Upload File Driver Web Browser Upload .php • $_FILES[“file"]["name"] • $_FILES[“file"]["type"] •. Upload File THIẾT KẾ VÀ LẬP TRÌNH WEB 6  move_uploaded_file(tmp_name, saved_name) Upload .php < ?php move_uploaded_file( $_FILES["file"]["tmp_name"], "upload/"

Ngày đăng: 17/04/2014, 21:12

Từ khóa liên quan

Mục lục

  • Lập Trình Web

  • Slide Number 2

  • Slide Number 3

  • Slide Number 4

  • Slide Number 5

  • Slide Number 6

  • Slide Number 7

  • Slide Number 8

  • Slide Number 9

  • Slide Number 10

  • Slide Number 11

  • Slide Number 12

  • Slide Number 13

  • Slide Number 14

  • Slide Number 15

  • Slide Number 16

  • Slide Number 17

  • Slide Number 18

  • Slide Number 19

  • Slide Number 20

Tài liệu cùng người dùng

Tài liệu liên quan