Chương 5 : NHỮNG THÀNH PHẦN CỦA FORM: CHO PHÉP NGƯỜI DÙNG LÀM VIỆC VỚI DỮ LIỆU Trong ứng dụng Web, người sử dụng nhập nội dung, nhấn submit để sử lý.. Tập lệnh PHP nhận dữ liệu từ form
Trang 1Chương 5 : NHỮNG THÀNH PHẦN CỦA FORM: CHO PHÉP NGƯỜI DÙNG LÀM
VIỆC VỚI DỮ LIỆU
Trong ứng dụng Web, người sử dụng nhập nội dung, nhấn submit để sử lý Một tiến trình thì không được hoàn thành bởi lệnh PHP, vì thế mã lệnh yêu cầu phải “thông minh” HTML sẽ gởi đến một vị trí đặc biệt và xử lý vì khi bạn điền trông tin vào form, để biết một địa chỉ email, mail,… bạn cần một phương tiện để đọc nội dung
Form trong HTML thì đơn giản hơn, nó chỉ vị trí và cách thức gửi như thế nào Tại điểm này PHP được ứng dụng hơn Tập lệnh PHP nhận dữ liệu từ form và sử dụng nó
để hoàn thành hoạt động, như cập nhật những nội dung của cơ sở dữ liệu, gửi một email, định dạng dữ liệu và hơn thế nữa
PHP sử dụng một tập đơn giản mà mạnh, một sự kết hợp, cung cấp phương tiện để làm mọi thứ ảo khi chúng ta cần
Trong chương này bạn bắt đầu xây dựng một ứng dụng đơn giản cho phép bạn thêm, bớt, xóa thành phần của dữ liệu Chúng ta sẽ được đến với PHP/MySQL như:
- Tạo những form sử dụng nút, hộp soạn thảo và những thành phần khác
- Tạo tập lệnh PHP để xử lý những form HTML
- Nhận dữ liệu từ hai biến chính là: $_POST và $_GET
- Qua thông tin ẩn để xử lý tập lệnh form với những điều khiển form ẩn và một chuỗi truy vấn URL
Driving the User Input
Form trong ví dụ này, hướng dẫn người dùng chọn những giá trị từ một tập hợp giá trị mà được cung cấp
Tập hợp giá trị thông qua việc sử dụng những phần tử HTML đặc biệt: list boxes, radio buttons và checkboxes
Trang 2Có 2 loại trong form:
Loại cho phép người dùng chọn một mục từ những chọn lựa có sẵn
Loại cho phép chọn nhiều mục
Hộp danh sách xổ xuống và nút radio chỉ chọn một Những checkbox và những hộp danh sách cung cấp nhiều lựa chọn
Ví dụ: Giới hạn của việc chọn lựa
Chúng ta hãy bắt đầu với một kiểu nhập đơn giản Những bước sau là để tạo một danh sách đơn giản:
1 Tạo một file form2.html và mở nó trong trình soạn thảo của bạn
2 Nhập đoạn mã sau:
<html>
<head>
<title>Greetings Earthling</title>
<style type=”text/css”>
TD{color:#353535;font-family:verdana}
TH{color:#FFFFFF;font-family:verdana;background-color:#336699}
</style>
</head>
<body>
<form action=”formprocess2.php” method=”post”>
<table border=”0” cellspacing=”1” cellpadding=”3”
bgcolor=”#353535” align=”center”>
<tr>
<td bgcolor=”#FFFFFF” width=”50%”>Name</td>
<td bgcolor=”#FFFFFF” width=”50%”>
<input type=”text” name=”Name”>
</td>
</tr>
<tr>
Trang 3<td bgcolor=”#FFFFFF”>Greetings</td>
<td bgcolor=”#FFFFFF”>
<select name=”Greeting”>
<option value=”Hello”>Hello</option>
<option value=”Hola”>Hola</option>
<option value=”Bonjour”>Bonjour</option>
</select>
</td>
</tr>
<tr>
<td bgcolor=”#FFFFFF” width=”50%”>Display Debug info</td>
<td bgcolor=”#FFFFFF” width=”50%”>
<input type=”checkbox” name=”Debug” checked>
</td>
</tr>
<tr>
<td bgcolor=”#FFFFFF” colspan=2 align=”center”>
<input type=”submit” name=”SUBMIT” value=”Submit”>
</td>
</tr>
</table>
</form>
</body>
</html>
3.Tạo một file mới với tên formprocess2.php và nhập đoạn mã sau:
<html>
<head>
<title>Greetings Earthling</title>
<style type=”text/css”>
Trang 4TD{color:#353535;font-family:verdana}
TH{color:#FFFFFF;font-family:verdana;background-color:#336699}
</style>
</head>
<body>
<?php
if (isset($_POST[„Debug‟]) and $_POST[„Debug‟] == “on”) {
?>
<pre>
<?php
print_r($_POST);
?>
</pre>
<?php
}
?>
<p align=”center”><?php echo $_POST[„Greeting‟]; ?>
<?php echo $_POST[„Name‟]; ?></p>
</body>
</html>
4 Lưu formprocess2.php và tải nó lên thư mục làm việc của bạn
5 Gọi trang trình duyệt của bạn Bạn có thể thấy kết quả như hinh 5.2.1
Hình 5.2.1
Trang 56 nhập tên của bạn và ấn nút submit Kết quả như hinh 5.2.2
Hình 5.2.2
Cách thức hoạt động:
Như bạn thấy đoạn mã này, trình tự giống như trong formprocess1.php Hai trường có thêm một hợp xổ xuống và một checkbox formprocess2.php giống như formprocess1.php nhưng thêm một hộp cuộn.Trình bày thông tin biên dịch chỉ khi hợp kiểm Debug được chọn và bạn dùng bất kì chọn lựa nào trong danh sách xổ xuống
Kiểu nhập hộp checkbox
Checkbox có thể được trình bày ở hai vị trí: Khi được kiểm tra, nó thông qua giá trị trên mảng $_POST, nhưng mặc khác nó không gửi đi mọi thứ Đây là phương pháp hay
để trình bày kiểu dữ liệu Boolean
* SELECT element
<select name=”Greeting”>
<option value=”Hello”>Hello</option>
<option value=”Hola”>Hola</option>
<option value=”Bonjour”>Bonjour</option>
</select>
Phần tử SELECT cho phép bạn trình bày một danh sách chọn lựa cố định mà người dùng có thể chọn một phần tử Mục chọn sẽ không được gửi như hiển thị nhưng sẽ gửi giá trị của nó Trong ví dụ này, giá trị và hiển thị là giống nhau, nhưng trong một hệ thống ràng buộc cơ sở dữ liệu, bạn có thể thấy ID của mẫu tin như những giá trị và nhãn văn bản của chúng là danh sách chọn
Trang 6Khi sử dụng danh sách, phải thiết lập những phần giá trị mục chọn OPTION Nếu ở đây không thiết lập tương tự như thấy trong danh sách, nhưng hoàn toàn không sử dụng bởi vì tất cả chọn lựa sẽ gửi như giá trị rỗng