intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng PHP (Hypertext Preprocessing) - Chương 3: Làm việc với Form

Chia sẻ: ViTunis2711 ViTunis2711 | Ngày: | Loại File: PDF | Số trang:18

29
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng PHP (Hypertext Preprocessing) - Chương 3: Làm việc với Form trình bày các nội dung chính sau: Các biến Super Global, biến $_SERVER, lấy thông tin từ form, kết hợp mã HTML và PHP trong 1 trang, sử dụng Hidden field để lưu trạng thái, form Upload file,... Mời các bạn cùng tham khảo để nắm nội dung chi tiết.

Chủ đề:
Lưu

Nội dung Text: Bài giảng PHP (Hypertext Preprocessing) - Chương 3: Làm việc với Form

  1. III. Làm việc với Form III.1. Các biến SuperGlobal III.2. Biến $_SERVER III.3. Lấy thông tin từ form III.4. Kết hợp mã HTML và PHP trong 1 trang III.5. Sử dụng Hidden field để lưu trạng thái III.6. Redirect III.7. Form Upload file
  2. III.1. Các biến SuperGlobal  Các biến global là các biến được khai báo ở mức ngoài cùng của PHP được sử dụng chung cho mọi module  Các biến SuperGlobal là các biến (mảng) được PHP tạo ra để lưu các thông tin cần thiết Array Description $_COOKIE Contains keys and values set as browser cookies $_ENV Contains keys and values set by the script's shell context $_FILES Contains information about uploaded files $_GET Contains keys and values submitted to the script using the HTTP get method $_POST Contains keys and values submitted to the script using the HTTP post method $_REQUEST A combined array containing values from the $_GET, $_POST, and $_COOKIES superglobal arrays $_SERVER Variables made available by the server
  3. III.2. Biến $_SERVER Variable Contains Example $_SERVER['PHP_SELF'] The current script. /phpbook/source/listing10.1.ph Suitable for use in p links and form element action arguments. $_SERVER['HTTP_USER_AGEN The name and Mozilla/4.6 –(X11; I;Linux2.2. 6- T'] version of the client. 15apmac ppc) $_SERVER['REMOTE_ADDR'] The IP address of 158.152.55.35 the client. $_SERVER['REQUEST_METHO Whether the request POST D'] was GET or POST. $_SERVER['QUERY_STRING'] For GET requests, name=matt&address=unknown the encoded data sent appended to the URL. $_SERVER['REQUEST_URL'] The full address of /phpbook/source/listing10.1.ph the request, p? name=matt including query string. $_SERVER['HTTP_REFERER'] The address of the http://p24.corrosive page from which the request was made.
  4. III.2. Biến $_SERVER (2) Đoạn lệnh sau liệt kê tất cả các thông tin của biến $_SERVER
  5. III.3. Lấy thông tin từ form III.3.1. Lấy thông tin từ form bằng các mảng superglobal III.3.2. Import thông tin của form vào các biến global III.3.3. Lấy thông tin của form bằng mảng do người dùng định nghĩa
  6. III.3.1. Lấy thông tin từ form bằng các mảng superglobal Dữ liệu từ form được submit lên server thông qua các phương thức: get, post Để lấy được thông tin từ form, bạn có thể sử dụng các mảng superglobal tương ứng $_POST[tên_control], $_GET[tên_control], $_REQUEST[tên_control] (REQUEST có thể sử dụng cho cả POST và GET)
  7. III.3.2. Import thông tin của form vào các biến global Để thuận tiện cho người lập trình, PHP cung cấp hàm import_request_variables() cho phép đưa các tham số GET, POST và COOKIE vào thành các biến global Cú pháp bool import_request_variables(string types, [string prefix]) types: Chỉ ra loại thông tin nào được import, có thể kết hợp giữa các giá trị g, p, c (get, post, cookie) prefix: tiền tố cho tên biến
  8. III.3.3. Lấy thông tin của form bằng mảng do người dùng định nghĩa  Những cách lấy thông tin từ form đã nêu trên cho phép chúng ta làm việc tốt với các control đơn (có 1 giá trị)  Đối với các control có nhiều giá trị như select hay checkbox, nảy sinh vấn đề là làm sao nhận được tất cả các control được lựa chọn  Để giải quyết vấn đề này, đặt tên các control với kết thúc là dấu ngoặc vuông [], khi đó dữ liệu truyền từ form đến server sẽ là mảng
  9. III.3.3. Lấy thông tin của form bằng mảng do người dùng định nghĩa Motorola Hang tau
  10. III.4. Kết hợp mã HTML và PHP trong 1 trang  Đối với các trang PHP nhỏ, bạn thường muốn kết hợp form gửi thông tin với các đoạn script PHP xử lý thông tin. Điều này có thể dễ dàng thực hiện bằng cách để các kết hợp các cấu trúc điều khiển rẽ nhánh với các đoạn mã HTML.  Để đặt đoạn mã HTML vào trong cấu trúc rẽ nhánh, sử dụng kết hợp các khối lệnh PHP (xem ví dụ)
  11. III.4. Kết hợp mã HTML và PHP trong 1 trang (2) Cam on ban da su dung san pham Motorola Motorola Hang tau
  12. III.5. Sử dụng Hidden field để lưu trạng thái Để lưu thông tin chung của các form giữa các lần submit (ví dụ: Số lần submit), cách đơn giản nhất là sử dụng trường ẩn (hidden field) trong form
  13. III.6. Redirect  Rõ ràng là việc hardcode HTML cùng với sử dụng nhiều khối PHP xen lẫn HTML là không tốt. Một cách đơn giản và hiệu quả hơn là sử dụng Redirect để dẫn hướng người dùng đến các trang thích hợp (ví dụ: Trang đăng nhập nếu người dùng chưa đăng nhập, trang chúc mừng nếu người dùng đăng nhập thành công)  Để làm được việc này, trước hết ta tìm hiểu cơ chế làm việc giữa PHP script và client. Đầu tiên, để giao tiếp với client, PHP tự động gửi các thông tin header cho client. Tuy nhiên, bạn vẫn có thể tự gửi header.  Để dẫn hướng client đến trang khác, bạn chỉ cần đơn giản đổi header bằng hàm header(). Để sử dụng hàm header() bạn phải đảm bảo rằng cho có dữ liệu nào đã được gửi cho client (sử dụng hàm header_sent() để kiểm tra)
  14. III.6. Redirect (2)
  15. III.7. Form Upload file Người dùng có thể gửi các file (upload) lên server là một chức năng không thể thiếu đối với các ứng dụng Web-based Để form có thể upload file, bạn phải xác định form enctype: ENCTYPE="multipart/form-data” Với PHP, bạn có thể xác định kích thước lớn nhất của file upload bằng cách đặt thêm 1 hidden field có tên MAX_FILE_SIZE trước control file
  16. III.7. Form Upload file (2)  Mảng $_FILE Element Contains Example $ FILES['fupload']['name'] Name of uploaded file test.gif $_FILES['fupload']['tmp_name'] Path to temporary file /tmp/phprDfZvN $_FILES['fupload']['size'] Size (in bytes) of uploaded 6835 file $_FILES['fupload']['error'] An error code UPLOAD_ERR_FOR corresponding to a PHP M_SIZE constant $_FILES['fupload']['type'] MIME type of uploaded file image/gif (where given by client)
  17. Valu Constant Name e Explanation UPLOAD_ERR_OK 0 No problem UPLOAD_ERR_INI_SIZE 1 File size exceeds php.ini limit set in upload_max_filesize UPLOAD_ERR_FORM_SI 2 File size exceeds limit set in hidden ZE element named MAX_FILE_SIZE UPLOAD_ERR_PARTIAL 3 File only partially uploaded UPLOAD_ERR_NO_FILE 4 File was not uploaded
  18. III.7. Form Upload file (3)
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
4=>1