Sau khi chạy chương trình này, chọn refresh trên trình duyệt. Bạn sẽ thấy script sẽ nhớ được rằng bạn là ai. Các hàm setcookie() và session_start() nên ở vị trí gần đầu tập tin. Nếu bạn thử chuyển đến trình duyệt trước để xác lập một cookie bạn sẽ nhận được một thông báo lỗi. Biến sẵn có Có rất nhiều biến sẵn có của PHP và Server. Bạn có thể liệt kê một danh sách đầy đủ bằng cách sử dụng lệnh phpinfo() để xem. ...
//run and make an assignment to $your_name } elseif (isset($submit) && empty($your_name)) { Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com $your_name = $first_name " " $last_name; echo "Thank you, $your_name"; } Sau chạy chương trình này, chọn refresh trình duyệt Bạn thấy script nhớ bạn Các hàm setcookie() session_start() nên vị trí gần đầu tập tin Nếu bạn thử chuyển đến trình duyệt trước để xác lập cookie bạn nhận thông báo loãi Sưu tầm bởi: www.daihoc.com.vn Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com Biến sẵn có Có nhiều biến sẵn có PHP Server Bạn liệt kê danh sách đầy đủ cách sử dụng lệnh phpinfo() để xem Bạn tạo file php cho chạy thử xem: Bạn sử dụng biến nhiều cách thức khác Tôi trình bày sau sau đây, bạn nên dùng vào trường hợp Một số biến đến từ PHP engine, số khác bắt nguồn từ Webserver Sưu tầm bởi: www.daihoc.com.vn Biến sẵn có PHP Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com PHP_SELF Biến nhận giá trị địa tập tin php duyệt Địa địa đầy đủ từ gốc (bắt đầu từ http://) Bạn sử dụng muốn truy cập lại trang web thi thành Xét ví dụ sau, form tương tự form sign.php mà bạn có dịp xét qua Nếu khách thực thao tác khác với submit form thi hành lại: HTTP_POST_VARS Đây mảng chứa tất biến chuyển tiếp thông qua POST method từ form Bạn truy cập biến riêng rẽ phần tử mảng liên hợp (ví dụ: $PHP_POST_VARS["myname"]) HTTP_GET_VARS Đây mảng chứa tất biến chuyển tiếp thông qua GET method Bạn truy cập biến riêng rẽ phần tử mảng liên hợp (ví dụ: $PHP_GET_VARS["myname"]) HTTP_COOKIE_VARS Tất cookie chuyển đến trình duyệt truy xuất mảng liên hợp Nó bao gồm session cookie Nếu bạn thắc mắc cookie thi hành xem hàm phpinfo() để biết trình duyệt bạn chuyển đến server Sưu tầm bởi: www.daihoc.com.vn Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com BIẾ N CỦA APACHE Apache có sẵn nhiều biến Tôi không trình bày đầy đủ tất biến Các biến bạn sử dụng, chúng tuỳ thuộc vào xác lập bạn Sau số biến mà có lẽ bạn sử dụng thường xuyên chương trình bạn DOCUMENT_ROOT Biến trả đường dẫn Webserver Biến sử dụng xuyên suốt sách Hãy xét ví dụ sau: include"$DOCUMENT_ROOT/book/functions/charset.php"; Bằng cách sử dụng biến DOCUMENT_ROOT thay dùng đường dẫn tuyệt đối, di chuyển toàn thư mục sang Apache Server khác mà không lo lắng đường dẫn bị sai lệch include path Nên nhớ bạn không sử dụng Apache Server biến không sử dụng Nếu bạn sử dụng include_path tập tin php.ini, Sưu tầm bởi: www.daihoc.com.vn bạn không cần phải lo lắng phải xác định đường dẫn PHP duyệt hết tất thư mục tìm tập tin bạn ñònh Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com HTTP_USER_AGENT Bất kỳ thiết kết Web site hiểu tầm quan trọng việc nhận dạng trình duyệt người sử dụng Một số trình duyệt không sử dụng JavaScript, số khác đòi hỏi dạng HTML đơn giản Biến user_agent cung cấp cho bạn khả uyển chuyển trình duyệt khác Một user_agent chuẩn có dạng này: Mozilla/4.0 (compatible; MSIE 5.01; Windows 98) Nếu bạn phân tích chuỗi bạn biết bạn cần tìm Có thể bạn thích hàm get_browser() PHP Về lý thuyết mà nói, hàm định nghóa khả cho phép trình duyệt user sử dụng Cho nên bạn biết chương trình bạn phục vụ tốt hay không Các sách PHP có hướng dẫn cách cài đặt sử dụng get_browser(), khuyên bạn không nên sử dụng Bởi sử dụng get_browse bạn bảo IE dùng cho PC Netscape 4.01 dùng cho Mac có hỗ trợ CSS (cascading stylesheets) JavaScript Nhưng người sử dụng biết rằng: viết lệnh DHTML Sưu tầm bởi: www.daihoc.com.vn để chạy hai môi trường trình duyệt công việc phức tạp Thông tin bạn nhận từ get_browser() dẫn đến tính giả bảo mật Cách tốt bạn Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com sử dụng HTTP_USER_AGENT thực định dựa trình duyệt platform xác định REMOTE_ADDR Dùng để lấy địa IP user Tuy nhiên có user am hiểu chuyện họ thay đổi IP máy Cho nên không lấy để đảm bảo rằng: địa IP chắn chắn user Bạn sử dụng biến để theo dõi truy nhập user mang tính tương đối REQUEST_URI Biến giống biến PHP_SELF Ngoài chứa thêm tham số địa truy vấn Nếu bạn truy cập vào địa chỉ: http://www.mydomain.com/info/products/index.php?id=6 Thì biến REQUEST_URI bạn có giá trị là: info/products/index.php?id=6 SCRIPT_FILENAME Biến chứa toàn đường dẫn tập tin Sưu tầm bởi: www.daihoc.com.vn Kiể m tra bieán Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com Ở nói nhiều Biến Như bạn biết đó, tên biến không quan trọng giá trị mà chứa Như nói Biến PHP uyển chuyển Điều phát sinh bất lợi bạn thời điểm biến mang giá trị Do bạn cần phải thực thao tác kiểm tra biến isset( ) Hàm thực việc kiểm tra biến có chứa giá trị hay không Nó trả giá trị TRUE FALSE Nếu biến chưa xác lập trị isset() false Bạn xem xét ví dụ sau, thi hành query MySQL Bạn biết field database chứa trị null chuỗi rỗng Với việc sử dụng hàm isset() bạn kiểm tra phân biệt hai giá trị Trong đoạn lệnh PHP bên Trong biến $query phát biểu SELECT lấy liệu submit từ form user $result = mysql_query($query) or die (mysql_error()); $number_cols = mysql_num_fields($result); Sưu tầm bởi: www.daihoc.com.vn echo "query: $query\n"; //layout table header Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com echo "\n"; echo "\n"; for ($i=0; $i