Username
Password
Login Cancle
Afterlogin.php Bước 5: Mở tệp index.php viết mã sau: Bài 2: Các kỹ thuật lập trình MySQL với PHP nâng cao Kết nối truy vấn sở liệu sử dụng PDO Giới thiệu PDO - PHP Data Objects PHP Data Objects (PDO) lớp truy xuất sở liệu cung cấp phương pháp thống để làm việc với nhiều loại sở liệu khác Khi làm việc với PDO bạn không cần phải viết câu lệnh SQL cụ thể mà sử dụng phương thức mà PDO cung cấp, giúp tiết kiệm thời gian làm cho việc chuyển đổi Hệ quản trị sở liệu trở nên dễ dàng hơn, đơn giản thay đổi Connection String (chuỗi kết nối CSDL) Chúng ta cần nắm rõ API mà PDO cung cấp làm việc với nhiều Hệ quản trị sở liệu khác MySQL, SQLite, PostgreSQL, Microsoft SQL Server, dễ dàng chuyển đổi chúng Các Hệ quản trị sở liệu (Database Management System) mà PDO hỗ trợ gồm có: Tên driver DBMS PDO_CUBRID Cubrid PDO_DBLIB FreeTDS Microsoft SQL Server / Sybase PDO_FIREBIRD Firebird PDO_IBM IBM DB2 PDO_INFORMIX IBM Informix Dynamic Server PDO_MYSQL MySQL 3.x/4.x/5.x PDO_OCI Oracle Call Interface PDO_ODBC ODBC v3 (IBM DB2, unixODBC and win32 ODBC) PDO_PGSQL PostgreSQL PDO_SQLITE SQLite and SQLite PDO_SQLSRV Microsoft SQL Server / SQL Azure PDO_4D 4D nginx: configuration successful file /etc/nginx/nginx.conf test is Nếu khơng bị lỗi gì, restart lại nginx: • sudo systemctl restart nginx Step 5: Kiểm tra Encryption Chúng ta cấu hình xong SSL cho domain Mở trình duyệt đánh https để kiểm tra Kết thấy có biểu tượng khóa trình duyệt: • https://server_domain_or_IP • Kết có warning hình dưới: Mã hóa PHP Có lẽ bạn biết nhiều MD5 SHA1 dùng để mã hóa chuỗi thơng tin đầu vào s1 cho chuỗi thông tin mã hóa s2 Về lý thuyết, khơng thể dịch ngược chuỗi s2 để liệu ban đầu, có nhiều phương pháp thuật toán làm tốt việc Hàm md5() sha1() Để mã hóa thơng tin đầu vào MD5 hay SHA1, đơn giản bạn cần dùng hàm md5() sha1() Hãy xem ví dụ sau: Để bảo mật kết hợp hàm với để tạo chuỗi mã hóa khó dịch ngược tự viết thêm số thuật toán cắt ghét chuỗi riêng bạn Hàm md5_file() sha1_file() Như tên gọi, bạn mã hóa md5 sha1 cho tập tin Chúng ta thực đoạn code mã hóa đơn giản sau: $file = 'dammio.txt'; echo 'Mã hóa MD5 tập tin ' $file ': ' md5_file($file); Hàm crc32() CRC viết tắt từ Cyclic Redundancy Check, tạm dịch “Kiểm dư chu trình”, phương pháp kiểm tra phát lỗi, sử dụng mạng số thiết bị lưu trữ để phát thay đổi tình cờ liệu truyền hay lưu trữ Hàm dùng hàm crc32() để checksum hay kiểm tra liệu nhận có bị lỗi hay hư hỏng hay khơng Hãy xét đến ví dụ sau: Hàm hash() Hàm hash cho phép mã hóa tất dạng md5, sha1,… cần dùng hàm Cú pháp: string hash (string $algo, string $data, bool $output) Trong $algo thuật tốn mã hóa (MD5, SHA1,…), $data liệu cần mã hóa, $output dạng đầu ra, = TRUE dạng liệu đầu nhị phân, = FALSE (hay mặc định) liệu đầu văn Ví dụ mã hóa chuỗi ‘dammio’ thuật toán RIPEMD (RIPE Message Digest), chủ yếu dùng mã hóa tiền ảo Bitcoin Ngoài bạn cịn có hàm crypt() password_hash() với chức mã hóa thơng tin tương tự Bài 4: Chức gửi thư điện tử cho website Giới thiệu PHP hỗ trợ cách thức gửi mail: Sử dụng gói PEAR Mail; Sử dụng hàm helper để gửi email; Sử dụng thư viện cURL Quy trình gửi nhận email: Máy chủ Máy chủ Người gửi Người nhận POP3 IMAP SMTP Ứng dụng email máy khách Ứng dụng email máy khách Phía client gửi yêu cầu đến máy chủ email thông qua giao thức SMTP Máy chủ xử lý gửi mail cho máy khách thông qua giao thức POP3 IMAP Gửi mail sử dụng PEAR Mail Để cấu hình gửi mail sử dụng PEAR Mail từ localhost, trước tiên cần cấu hình tài khoản gmail Đăng nhập vào tài khoản Nhấn nút Settings Vào tab Forwarding and POP/IMAP Trong mục POP download đánh dấu chọn vào ô Enable POP for all mail Nhấn nút Save changes Thông số kết nối máy chủ Gmail: M M Bước 1: Nạp gói PEAR Mail Sử dụng lệnh Không cần copy file Mail.php vào mã nguồn ứng dụng Tránh tạo file Mail.php khác để không trùng Bước 2: Thiết lập thông số cho đối tượng mailer mail //Ví dụ 1: Máy chủ SMTP đơn giản $option = array(); $option['host'] = 'mail.example.com'; //Ví dụ 2: Máy chủ SMTP có xác thực $option = array(); $option['host'] = 'mail.example.com'; $option['auth'] = true; $option['username'] = 'sample.user@example.com'; $option['password'] = 'ghg44463'; //Ví dụ 3: Máy chủ SMTP có xác thực bảo mật SSL $option = array(); $option['host'] = 'ssl://mail.example.com'; $option['port'] = 465; $option['auth'] = true; $option['username'] = 'sample.user@example.com'; $option['password'] = 'ghg44463'; Bước 3: Tạo đối tượng mailer Sử dụng phương thức tĩnh factory trả đối tượng mailer dùng để gửi mail $mailer = Mail::factory('smtp', $option); Bước 4: Viết mail //1 Thiết lập SMTP header $headers = array(); $headers['From'] = 'sample.user@example.com'; $headers['To'] = 'john.doe@example.com, jane.doe@example.com'; $headers['Cc'] = 'fsmith@example.org'; $headers['Bcc'] = 'jsmith@example.net'; $headers['Subject'] = 'Hello'; $headers['Content-type'] = 'text/html'; //2 Thiết lập danh sách gửi $recipients = 'john.doe@example.com, jane.doe@example.com'; $recipients = 'fsmith@example.org, jsmith@example.net'; //3 Thiết lập phần body $body = "Hello
How are you
"; Bước 5: Gửi mail kiểm tra kết //1 Gửi mail $result = $mailer->send($recipients, $header, $body); //2 Kiểm tra kết hiển thị lỗi có if (PEAR::isError($result)) { $error = $result->getMessage(); echo htmlspecialchars($error); Gửi mail sử dụng hàm Hàm helper Gửi mail sử dụng hàm send_email require_once 'message.php'; $from = 'John Doe '; $to = 'Jane Doe '; $subject = 'How to use PEAR Mail'; $body = 'Murach PHP and MySQL book has a chapter on how to use the PEAR Mail packageto send email.
'; $is_body_html = true; try { send_email($to, $from, $subject, $body, $is_body_html); } catch (Exception $e) { $error = $e->getMessage(); echo $error; } Bài 5: Tải file hình ảnh lên website Gửi file hình ảnh đơn lên website Một PHP script sử dụng với HTML form cho phép người dùng upload file lên Server Đầu tiên file upload lên thư mục tạm thời, sau di chuyển tới đích PHP script Thơng tin trang phpinfo.php mô tả thư mục tạm thời mà sử dụng cho file upload dạng upload_tmp_dir kích thước giới hạn file upload bắt đầu dạng upload_max_filesize Các tham số thiết lập file cấu hình php.ini Tiến trình upload file theo bước sau: • Người dùng mở trang chứa HTML form text file, nút browse nút submit • Người dùng nhấn nút browse chọn file để upload từ máy local • Đường dẫn đầy đủ đến file chọn xuất trường văn bản, sau người dùng nhấn nút Submit • File chọn gửi đến thư mục tạm thời Server • PHP script, mà xác định Form Handler thuộc tính action form, kiểm tra xem file đến chưa sau chép file sang thư mục mong muốn • PHP script xác nhận thành công tới người dùng Thông thường ghi file, cần thiết cho thư mục tạm thời thư mục đích để có quyền truy cập thiết lập cho phép ghi Nếu thiết lập read-only, tiến trình thất bại Một file upload lên text file image file tài liệu Tạo upload form PHP Dưới HTML code tạo upload form Form có thuộc tính method thiết lập post thuộc tính enctype thiết lập multipart/formdata Lưu chương trình file có tên test.php htdocs, sau mở trình duyệt gõ địa http://localhost:8080/test.php cho kết quả: Tạo upload script PHP Có biến PHP toàn cục $_FILES Biến mảng mảng liên hợp giữ tất thông tin liên quan đến file tải lên Vì vậy, giá trị gán cho thuộc tính name input form upload file, PHP tạo biến sau: • $_FILES['file']['tmp_name'] − File upload thư mục tạm thời Web Server • $_FILES['file']['name'] − Tên thực file upload • $_FILES['file']['size'] − Kích thước tính theo byte file upload • $_FILES['file']['type'] − Kiểu MIME file upload • $_FILES['file']['error'] − Mã hóa lỗi liên quan đến file tải lên Ví dụ Dưới ví dụ cho phép tải hình ảnh trả kết dạng thông tin file tải lên- Gửi file có tên:
- Kích cỡ file : ['type'] ?>