Form là gì?
Khi bạn lên mạng và đăng ký tài khoản hoặc đăng nhập ở một website, thì biểu mẫu mà các bạn điền vào để đăng ký hoặc đăng nhập ở đây chính là form.
Form được sử dụng để lấy thông tin của người dùng nhập vào và gửi lên server để xử lý. Hình bên dưới tôi lấy ở trên mạng phác họa một cách cụ thể quy trình xử lý form trong PHP.
- form trong HTML được tạo ra bằng thẻ <form>, bên trong form đó nó chứa một hoặc nhiều phần tử để nhập liệu gọi là các điều khiển (control), có nhiều loại điều khiển như:
Hầu hết các control (điều khiển) để người dùng nhập thông tin, dữ liệu được tạo ra bằng thẻ HTML <input> và đi cùng nó thường là phần tử <label> để tạo ra nhãn (tiêu đề) cho control.
Thẻ <form>, tạo web form đầu tiên
Để tạo ra HTML Form thì dùng đến thẻ <form>, sau đó nội dung trong thẻ trình bày các HTML và các phần tử là điều khiển (control) có trong form.
Cú pháp:
<form action="<url>" method="post">
<!--Các mã HTML, các phần tử trong form -->
</form>
Thẻ <form> cơ bản có hai thuộc tính cần lưu tâm là action và method:
Thuộc tính action trong form: thuộc tính để thiết lập URL sẽ nhận dữ liệu, là địa chỉ mà dữ liệu của form gửi đến (submit đến, post đến). Thiếu tham số này thì action bằng URL đang truy cập (tức gửi thông tin form đến server theo địa chỉ đang truy cập). Web server nhận được dữ liệu, xử lý và trả về nội dung nào đó.
Thuộc tính method trong form: thuộc tính để thiết lập HTTP Method, xem thêm HTTP Request Message thường có giá trị bằng get hoặc post. Nếu không viết thuộc tính này thì method mặc định của form là get
Sử dụng method="get" thì khi submit dữ liệu được biểu diễn (encoding) thông qua URL (người dùng thấy rõ dữ liệu trên thanh địa chỉ trình duyệt khi nó gửi đi). Sử dụng method="post" thì khi submit biểu diễn trong nội dung của Http Request gửi đến Server và là ẩn với người dùng. Sử dụng post an toàn hơn.
BÀI TẬP THỤC HÀNH
File: form.php
<html><header><title>Thông tin học sinh</title></header><body><form action="xu-ly-form.php" method="post"><table><tr><td colspan="2" style="text-align: center;">THÔNG TIN HỌC SINH</td></tr><tr><td>Họ tên:</td><td><input type="text" name="txtHoTen"/></td></tr><tr><td>Giới tính:</td><td><input type="radio" name="radGioiTinh" value="1"/>Nam<input type="radio" name="radGioiTinh" value="0"/>Nữ</td></tr><tr><td>Ngày sinh:</td><td><input type="text" name="txtNgaySinh"/></td></tr><tr><td>Địa chỉ:</td><td><input type="text" name="txtDiaChi"/></td></tr><tr><td>Quốc tịch:</td><td><select name="QuocTich"><option value="VietNam">Việt Nam</option><option value="Lao">Lào</option><option value="ThaiLan">Thái Lan</option></select></td></tr><tr><td>Địện thoại:</td><td><input type="text" name="txtDienThoai"/></td></tr><tr><td>Sở thích:</td><td><input type="checkbox" name="cheNhac" value="Nhac"/> Nhạc<input type="checkbox" name="cheDuLich" value="DuLich"/> Du lịch<input type="checkbox" name="cheXemPhim" value="XemPhim"/> Xem phim</td></tr><tr><td>Nội dung khác:</td><td><textarea name="txtarea" rows="10" col="400"></textarea></td></tr><tr><td colspan="2" style="text-align: center;"><input type="submit" name="Goi" value="Gởi" size="12px"/></td></tr></table></form></body></html>
Kết quả sau khi chạy file form.php
File: xu-ly-form.php
Kết quả sau khi chạy file xu-ly-form.php<?phpif (isset($_POST['Goi'])){//Lấy dữ liệu từ file form.php gởi đến$hoTen = $_POST['txtHoTen'];$gioiTinh = $_POST['radGioiTinh'];$ngaySinh = $_POST['txtNgaySinh'];$diaChi = $_POST['txtDiaChi'];$quocTich = $_POST['QuocTich'];$dienThoai = $_POST['txtDienThoai'];$nhac = $_POST['cheNhac'];$duLich = $_POST['cheDuLich'];$xemPhim = $_POST['cheXemPhim'];$ndKhac = $_POST['txtarea'];echo '<p>THÔNG TIN HỌC SINH BẠN VỪA NHẬP<p>';#Xử lý học tênecho 'Họ và tên: ' .$hoTen. '<br>';#Xử lý giới tínhif ($gioiTinh == 0)echo 'Giới tính: Nữ<br>';elseecho 'Giới tính: Nam<br>';#Xử lý ngày sinhecho 'Ngày sinh: ' .$ngaySinh. '<br>';#Xử lý địa chỉecho 'Địa chỉ: ' .$diaChi. '<br>';#Xử lý quốc tịchecho 'Quốc tịch: ';if ($quocTich == 'VietNam')echo 'Việt Nam<br>';elseif ($quocTich == 'Lao')echo 'Lào<br>';elseecho 'Thái Lan<br>';#Xử lý sở thíchecho 'Sở thích: ';if ($nhac == 'Nhac')echo 'Nhạc; ';if ($duLich == 'DuLich')echo 'Du lịch; ';if ($xemPhim == 'XemPhim')echo 'Xem phim; ';#Xử lý nội dung khácecho '<br>Nội dung khác: ' .$ndKhac. '<br>';#Xử lý về lại trang form.phpecho "<p><a href='form.php'> Về lại trang Thông tin học sinh</a>";}?>