Tải bản đầy đủ (.pdf) (5 trang)

Tài liệu Lập trình web với PHP - p21 doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (158.78 KB, 5 trang )

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ý. 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.

Những phần tử nhập nút Radio

Nút radio là phần tử rất đơn giản. Bằng việc mặc định, nếu
không có nút radio đặc biệt như CHECKED thì không có việc chọn
mặc định. Nên nhớ, việc chọn giá trị mặc định là phần quan trọng
của việc thiết lập form.
Người sử dụng thường để mặc định.
<input type=”radio” name=”type” value=”Movie” checked>
Movie<br>


<input type=”radio” name=”type” value=”Actor”>
Actor<br>
<input type=”radio” name=”type” value=”Director”>
Director<br>
Cho nhiều nút radio phức tạp để liên kết các nhóm form với
nhau và để xử lý một phần tử form đơn giản, chúng cần tên như
nhau và những giá trị khác nhau, một cách hoàn toàn rõ ràng. Trong
đoạn mã có trước, tên luôn là chữ in. Điều này nói với trình duyệt
web rằng chỉ có một nút được chọn.
Những nút submit phức tạp
Như với nút radio, nút submit cũng có tên giống nhau với giá trị
khác nhau. Nhấn vào một trong những nút đơn giản.
<input type=”submit” name=”Submit” value=”Search”>
<input type=”submit” name=”Submit” value=”Add”>
Khi bạn thấy biên dịch trở ngại, nút submit gởi thông tin đến
tập lệnh. Bạn có thể cập nhật giá trị nút submit thông qua mảng
$_POST[„Submit‟].
Việc kiểm tra nhập cơ bản
Tập lệnh xử lý là gì? Có gì mới?
Đoạn mã dưới đây kiểm tra loại mục là Movie, nó kiểm tra
người sử dụng đã chọn một loại giá trị movie từ danh sách chưa.
Nếu có hoặc không, anh ta hoặc cô ta được gởi một địa chỉ mới đến
trang form.
Việc kiểm tra đơn giản nếu với một và toán tử. (Trong cách nói
đơn giản Monopoly, nếu loại mục là movie và không đặc biệt, bạn
trở lại một hình vuông và không thu được $200.)
if ($_POST[„type‟] == “Movie” && $_POST[„MovieType‟] ==
“”)
{
header(“Location:form3.php”);

}
Phần đầu hàm cho phép bạn gởi đến phần đầu HTTP thô. Nó thì
hữu ích cho vấn đề bảo mật địa chỉ và hạn chế cập nhật. Trong ví dụ
này, nó gửi một địa chỉ người dùng mới đến trang lý thuyết.
Chú ý: Một lỗi chung với người bắt đầu sử dụng PHP là hiểu
sai một sự thật rất đơn giản. Một lần gửi những phần đầu không thể
gửi một lần nữa. Điều này có nghĩa là bất kì việc xuất nào, bất kì
khoảng trắng nào, bất kì sự trình bày bảng nào đúng, trước khi gọi
phần đầu hàm nó sẽ sinh ra một cảnh báo trong việc thực thi tập
lệnh. Ở đây là một vài kiểu lỗi:
<?php
header(“Location:form3.php”);
?>
Đoạn mã này sẽ thất bại. Dòng bắt đầu tập lệnh rỗng sẽ gửi đến
phần đầu với một điều khiển trả về và một đường vận chuyển (phụ
thuộc vào hệ điều hành).
<?php
echo “foobar”;
header(“Location:form3.php”);
?>
Đoạn mã này sẽ thất bại. Hàm xuất ra sẽ gửi phần đầu với text
“foobar”
Tiêu đề trang động
Mã này thì dễ hiểu hơn: Bạn không bắt đầu xuất ra sớm như bắt
đầu thực thi tập lệnh PHP. Điều gì sẽ xảy ra khi điểm bắt đầu tập
lệnh sẽ kiểm tra sự xâm nhập và kiểm tra ngữ cảnh. Trong ví dụ
này, bạn không sắp xếp mã ngữ cảnh phức tạp, nhưng bạn cần đặt
tiêu đề trang động sử dụng kiểu action và kiểu item, bạn sẽ sử dụng
handle của trang.


$title = $_POST[„Submit‟] . “ “ .
$_POST[„type‟] . “ : “ .
$_POST[„Name‟];
?>
<html>
<head>
<title><?php echo $title; ?></title>
Điều khiển một chuỗi bằng tay như một mảng để đổi ký tự đầu
tiên
Chuỗi ký tự đơn giản có thể cập nhật thông qua cú pháp đơn
giản giống như việc cập nhật chỉ mục của mảng. Chỉ mục đặc biệt
của ký tự muốn cập nhật và voilà! Để đổi một ký tự hoặc toàn bộ
chuỗi, sử dụng hàm: strtoupper():
$name = $_POST[„Name‟];
$name[0] = strtoupper( $name[0]);
Bạn có thể dùng hàm ucfirst()
Toán tử tam nguyên
Dòng dưới đây chứa sự so sánh phép toán bậc ba. Toán tử tam
nguyên không chỉ sử dụng trong PHP mà những ngôn ngữ khác
cũng sử dụng (như C).
<?php echo $_POST[„Submit‟] == “Search” ? “for “ : “”; ?>
Việc này có thể so sánh như cấu trúc if-else,
[biểu thức]?[thực hiện nếu TRUE]: [thực hiện nếu FALSE];
Toán tử tam nguyên này thì được biết như mối nguy hiểm lâu
dài. Việc sử dụng nó sẽ làm cho đoạn mã của bạn dễ đọc hơn và có
thể gây ra lỗi trong thời gian dài.

×