PHP xử lý form
- Các giá trị thành phần của form được thu thập thông qua phương thức _GET và _POST.
- Các giá trị thành phần của form được xử lý dựa theo thuộc tính
name
của từng thành phần tương ứng và thông qua thuộc tínhmethod
của form để xác định phương thức truyền dữ liệu. Các thành phần thường dùng của form:
- Trong tất cả ví dụ bên dưới sẽ dùng phương thức _POST với action ở trang hiện tại: <form action="" method="post">
(action không giá trị sẽ mặc định submit xử lý ở trang hiện tại, hoặc có thể thay thế bằng action="php_form_handing.php"
cũng cho kết quả tương tự).
Nút submit sẽ dùng <button type="submit">
(chúng ta cũng có thể dùng <input type="submit">
cũng cho kết quả tương tự).
PHP input type="text"
- Định nghĩa và cách dùng input xem thêm phần tham khảo.
method="get"
là gì? nếu chưa rõ thì bạn cần xem lại _POST.if(isset($_POST["giá_trị_name"]))
kiểm tra xem$_POST["giá_trị_name"]
có tồn tại hay không, nếu không có đoạn kiểm tra này thì khi submit sẽ báo lỗi.
PHP viết:
<form action="" method="post"> Họ tên: <input type="text" name="fullname" value=""> <button type="submit">Gửi</button> </form> <?php if(isset($_POST["fullname"])) { echo $_POST["fullname"]; } ?>
PHP input type="password"
- Cách xử lý tương tự như input type="text"
PHP viết:
<form action="" method="post"> Password: <input type="password" name="password" value=""> <button type="submit">Gửi</button> </form> <?php if(isset($_POST["password"])) { echo $_POST["password"]; } ?>
PHP input type="checkbox"
- Cách xử lý tương tự như input type="text"
PHP viết:
<form action="" method="post"> Đăng ký học:<br> HTML <input type="checkbox" name="check_html" value="HTML">, CSS <input type="checkbox" name="check_css" value="CSS"><br> <button type="submit">Gửi</button> </form> <?php if(isset($_POST["check_html"])) { echo $_POST["check_html"]; } ?> <?php if(isset($_POST["check_css"])) { echo $_POST["check_css"]; } ?>
Đối với mỗi giá trị checkbox ta sẽ kiểm tra sự tồn tại riêng.
PHP input type="radio"
- Cách xử lý tương tự như input type="text", tuy nhiên cần chú ý cách đặt tên thuộc tính
name
vàvalue
.
PHP viết:
<form action="" method="post"> Giới tính:<br> Nam <input type="radio" name="gender" value="Nam">, Nữ <input type="radio" name="gender" value="Nữ"><br> <button type="submit">Gửi</button> </form> <?php if(isset($_POST["gender"])) { echo $_POST["gender"]; } ?>
PHP select option
- Định nghĩa và cách dùng select option xem thêm phần tham khảo.
- Cũng xử lý dựa theo thuộc tính
name
, giá trị được lấy chính là nội dung củaoption
được chọn.
PHP viết:
<form action="" method="post"> Thành phố: <br> <select name="city"> <option value="Hà Nội">Hà Nội</option> <option value="Hồ Chí Minh">Hồ Chí Minh</option> <option value="Đà Nẵng">Đà Nẵng</option> <option value="Cần Thơ">Cần Thơ</option> </select> <button type="submit">Gửi</button> </form> <?php if(isset($_POST["city"])) { echo $_POST["city"]; } ?>
PHP textarea
- Định nghĩa và cách dùng textarea xem thêm phần tham khảo.
- Cũng xử lý dựa theo thuộc tính
name
, giá trị được lấy chính là nội dung textarea.
PHP viết:
<form action="" method="post"> Tin nhắn<br> <textarea cols="30" rows="7" name="message"></textarea><br> <button type="submit">Gửi</button> </form> <?php if(isset($_POST["message"])) { echo $_POST["message"]; } ?>
PHP form tổng hợp
PHP viết:
<form action="" method="post"> <p>Họ tên: <input type="text" name="fullname" value=""></p> <p>Password: <input type="password" name="password" value=""></p> <p>Đăng ký học: HTML <input type="checkbox" name="check_html" value="HTML">, CSS <input type="checkbox" name="check_css" value="CSS"></p> <p>Giới tính: Nam <input type="radio" name="gender" value="Nam">, Nữ <input type="radio" name="gender" value="Nữ"></p> <p>Thành phố: <select name="city"> <option value="Hà Nội">Hà Nội</option> <option value="Hồ Chí Minh">Hồ Chí Minh</option> <option value="Đà Nẵng">Đà Nẵng</option> <option value="Cần Thơ">Cần Thơ</option> </select></p> <p>Tin nhắn:<br> <textarea cols="30" rows="7" name="message"></textarea></p> <button type="submit">Gửi</button> </form> <p>Họ tên: <?php if(isset($_POST["fullname"])) { echo $_POST["fullname"]; } ?></p> <p>Password: <?php if(isset($_POST["password"])) { echo $_POST["password"]; } ?></p> <p>Đăng ký học: <?php if(isset($_POST["check_html"])) { echo $_POST["check_html"]; } ?> <?php if(isset($_POST["check_css"])) { echo $_POST["check_css"]; } ?></p> <p>Giới tính: <?php if(isset($_POST["gender"])) { echo $_POST["gender"]; } ?></p> <p>Thành phố: <?php if(isset($_POST["city"])) { echo $_POST["city"]; } ?></p> <p>Tin nhắn: <?php if(isset($_POST["message"])) { echo $_POST["message"]; } ?></p>
Họ tên:
Password:
Đăng ký học:
Giới tính:
Thành phố:
Tin nhắn:
Bên trên là cách xử lý dựa trên hàm isset() để kiểm tra các giá trị $_POST có tồn tại hay không, tuy nhiên trong thực tế chúng ta sẽ sử dụng hàm empty() để kiểm tra xem các giá trị $_POST có rỗng hay không, nếu rỗng thì xuất hiện thông báo lỗi, còn không thì cho qua, xem thêm tại: PHP form validation.