Hướng dẫn dùng read forms trong PHP
HTML FOR / GET / POSTNhư phần HTML FORM, FORM là nơi mà người dùng nhập thông tin và gửi thông tin lên Server. Các phần tử trong FORM như input, select ... có các tên, ta coi nó như là biến. Xet HTML FORM sau: Show form/first.php
Phương thức POSTKhi bạn sử dụng form với method="post" thì các biến gửi đến Server sẽ đặt trong phần Header, Body của HTTP Request do vậy bạn sẽ không nhìn thấy dữ liệu này ở trình duyệt khi gửi, các giá trị biến sẽ được PHP nhận được lưu tại biến định nghĩa trước $_POST. Ngoài ra với POST nó hỗ trợ thêm các chức mở rộng như multi-part, để có thể gửi được file lên Server. Sửa lại ví dụ trên để kiểm tra: form/first.php '; var_dump($_POST); echo '$_GET Bạn submit thử dữ liệu, thì nó có thể có kết quả: $_POST array (size=3) 'name' => string 'xuanthulab' (length=10) 'age' => string '25' (length=2) 'submit' => string 'Gửi đi' (length=9) $_GET array (size=0) Như vậy thấy các biến
Phương thức GETNếu HTML FORM sử dụng method="get" thì khi gửi các biến đi HTTP Request sẽ chứa nó ở chính phần Bạn hay thử thay đổi ví dụ trên thay method bằng get. Thì khi gửi URL có thể có dạng là: http://localhost/learnphp/form/first.php?name=xuanthulab&age=25&submit=G%E1%BB%ADi+%C4%91i Đừng bao giờ dùng phương thức GET khi gửi PASSWORD Kiểm tra là POST hay GETKhi sử dụng HTML FORM để gửi dữ liệu nếu không có yêu cầu đặc biệt bắt buộc thì hãy chọn phương thức là Ở Server Side (tại PHP Script) làm thế nào để xác định HTTP Request gửi đến là POST hay GET: Đơn giản là tên của phương thức lưu tại biến Ví dụ sau kiểm tra phương thức là POST hay không if ($_SERVER['REQUEST_METHOD'] === 'POST') { // POST ĐẾN } Như trên đã trình bày, dữ liệu FORM gửi đến lưu tại Ví dụ: form/first.php "; echo "Tuổi: $age Trong bài học này, chúng ta sẽ tìm hiểu xử lý form và gửi dữ liệu trong PHP bằng cách sử dụng các biến siêu toàn cục REQUEST, POST, GET.
Bài 10: Video xử lý form và gửi dữ liệu trong PHPHướng dẫn chi tiết"Ra đời, cuộc sống bươm chải, có làm vẫn không có ăn" nên phải gắn QUẢNG CÁO Các bạn cần hosting WordPress nhanh, rẻ và dễ sử dụng có free SLL hãy chọn Azdigi nhé. Link đăng ký: NHẬN NGAY ƯU ĐÃI Nếu các bạn mua hosting từ link trên, mình sẽ có một ít tiền để duy trì. Cảm ơn $GETMột mảng kết hợp của các biến được truyền cho tập lệnh hiện tại thông qua các tham số URL (còn gọi là chuỗi truy vấn). Lưu ý rằng mảng không chỉ được điền cho các yêu cầu GET, mà là cho tất cả các yêu cầu có chuỗi truy vấn. GET không thể được sử dụng để gửi dữ liệu nhị phân, như hình ảnh hoặc tài liệu từ, đến máy chủ. Gửi dữ liệu bằng tham số trên đường dẫn Link demo Nhận dữ liệu bằng cách truy cập vào biến $_GET trong file bai10-1.php trong cùng thư mục nhé. Có làm thì mới có ăn như ai đó từng nói - Vài dòng ngắn cho QUẢNG CÁO nhé Các bạn cần hosting WordPress nhanh, rẻ và dễ sử dụng có free SLL hãy chọn Azdigi nhé. Link đăng ký: NHẬN NGAY ƯU ĐÃI Nếu các bạn đăng ký và sử dụng hosting từ link trên, Góc Làm Web sẽ có một ít tiền để duy trì. if(isset($_GET['id'])){ $bien = $_GET['id']; echo $bien; } $POSTPhương thức POST là hình thức client gửi dữ liệu lên server kèm theo dữ liệu và dữ liệu sẽ bị ẩn chứ không hiển thị trên URL như phương thức GET. Gửi dữ liệu bằng form phương thức POST Nhận dữ liệu từ form, trong file bai10-2.php, chúng ta nên dùng isset để kiểm tra dữ liệu tồn tại hay chưa để tránh lỗi xảy ra. Sau dó, nhận giá trị từ form bằng $_POST[‘name của input’]; if (isset($_POST['username'])) { $name = $_POST['username']; echo $name; } $REQUESTMột mảng kết hợp theo mặc định chứa nội dung của $ _GET, $ _POST và $ _COOKIE. Trong ví dụ bên dưới, mình sẽ ví dụ 1 trường hợp dùng $_REQUEST thay cho $ _POST nhé. Ví dụ trên mình về GET và POST dùng hàm isset, còn bên dưới là ví dụ từ w3school dùng empty để kiểm tra. Để biết isset và empty khác nhau như thế nào, các bạn có thể tham khảo. Nếu có thắc mắc, hãy đặt câu hỏi bằng cách comment bên dưới, qua email, hoặc nhắn tin qua Fanpage Góc làm web. Liên hệ |