PHÁT TRIỂN ỨNG DỤNG WEB VỚI PHP

Một phần của tài liệu Giáo trình Phát triển ứng dụng web: Phần 2 - Lê Đình Thanh, Nguyễn Việt Anh (Trang 52 - 53)

9. foreach ($poems as $p ){

6.3. PHÁT TRIỂN ỨNG DỤNG WEB VỚI PHP

Trong năm nhiệm vụ của bên phục vụ đã đƣợc trình bày ở Mục 6.1, hai nhiệm vụ đầu tiên luôn luôn đƣợc tiến hành mỗi khi nhận đƣợc một yêu cầu HTTP từ trình khách. Nhiệm vụ thứ nhất, tiếp nhận và phân tích u cầu HTTP, đƣợc trình phục vụ web và trình thơng dịch PHP thực hiện tự động. Kết quả thực hiện nhiệm vụ thứ nhất, các thuộc tính và giá trị của yêu cầu HTTP đƣợc lƣu trong các bộ sƣu tập sau đ}y:

$GLOBALS — Mảng c{c biến to|n cục.

$_SERVER — Mảng các biến tiêu đề HTTP, đƣờng dẫn và vị trí kịch bản. $_GET — Mảng c{c biến GET.

$_POST — Mảng c{c biến POST.

$_REQUEST — Mảng c{c biến Request (cả GET, POST và COOKIE). $_FILES — Mảng c{c tệp upload.

$_SESSION — Mảng c{c biến phiên. $_ENV — Mảng c{c biến môi trƣờng. $_COOKIE — Mảng c{c biến cookies.

Để biết nội dung của từng bộ sƣu tập, có thể dùng hàm var_dump($var), trong

đó $var l| một trong c{c bộ sƣu tập đƣợc liệt kê ở trên. Để biết một phần tử (khóa)

nào đó có tồn tại trong một bộ sƣu tập hay không, sử dụng hàm isset($var[key]).

Ngoài ra, để biết giá trị của phần tử trong bộ sƣu tập đã đƣợc gán giá trị hay chƣa, sử dụng hàm kiểm tra empty($var[key]).

Thông thƣờng, ứng dụng cung cấp biểu nhập (form) cho ngƣời dùng nhập dữ liệu. Khi đó, tùy vào phƣơng thức HTTP mà form sử dụng là GET hay POST, dữ

liệu của ngƣời dùng sẽ đƣợc lƣu vào mảng $_GET hoặc $_POST, tƣơng ứng.

WebAppDevLê Đình Thanh, Nguyễn Việt Anh

137 dễ nhập. Trong những trƣờng hợp nhƣ vậy, sử dụng chuỗi truy vấn trong URL, thay cho biểu nhập, là đủ. Ví dụ, trang sum.php sau đ}y cho phép ngƣời dùng

nhập hai số x và y trong chuỗi truy vấn của URL, tính và trả về giá trị tổng của

chúng. Ví dụ đơn giản này cho thấy ba bước xử lý chính của ứng dụng bên phục vụ.

Đầu tiên, ứng dụng cần phải kiểm tra các ràng buộc trên dữ liệu người dùng để đảm

bảo dữ liệu đƣợc nhập đầy đủ và đúng đắn. Chỉ khi dữ liệu vào đƣợc đảm bảo, ứng dụng mới tiếp tục bằng việc thực thi một thuật tốn nào đó nhằm giải quyết

bài toán để thu về kết quả. Với trang sum.php, bài tốn đƣợc đặt ra hết sức đơn giản

là tính tổng hai số. Khi đã có kết quả, ứng dụng trả kết quả ra đáp ứng HTTP để

hoàn tất quá trình xử lý bên phục vụ. Với trang sum.php, biểu thức và giá trị của biểu thức tổng đƣợc đƣa ra thân của đ{p ứng HTTP. Nếu ngƣời dùng nhập trên thanh địa chỉ URL sum.php?x=1&y=2, ngƣời dùng sẽ nhận đƣợc kết quả trên giao

diện là "1 + 2 = 3". Nếu ngƣời dùng nhập trên thanh địa chỉ URL sum.php?x=1&y=a,

ngƣời dùng sẽ nhận đƣợc thông báo "y phải là số " trên giao diện.

1. <?php

2. // sum.php

3.

4. // Bước 1: Kiểm tra các ràng buộc trên dữ liệu vào 5. if (!isset($_GET["x"])) { echo "Chưa nhập x"; exit(); } 5. if (!isset($_GET["x"])) { echo "Chưa nhập x"; exit(); } 6. if (!is_numeric($_GET["x"])) { echo "x phải là số"; exit(); }

7. if (!isset($_GET["y"])) { echo "Chưa nhập y"; exit(); } 8. if (!is_numeric($_GET["y"])) { echo "y phải là số"; exit(); } 8. if (!is_numeric($_GET["y"])) { echo "y phải là số"; exit(); }

9.

10. // Bước 2: Giải bài toán

11. $sum = floatval($_GET["x"]) + floatval($_GET["y"]);

12.

13. // Bước 3: Xuất kết quả

14. echo $_GET["x"]." + ".$_GET["y"]." = ".$sum;

Phƣơng thức POST đƣợc khuyến cáo sử dụng để nhập liệu trong mọi trƣờng

hợp, kể cả trƣờng hợp dữ liệu nhập ít và ngắn. Trang sum2.php sau đ}y thực hiện cùng chức năng với trang sum.php ở trên, khác là trang sum2.php cung cấp biểu

nhập cho ngƣời dùng nhập các giá trị x, y và gửi dữ liệu đến bên phục vụ theo

phƣơng thức POST. Nếu dữ liệu đã đƣợc nhập và đệ trình, trang sum2.php thực

hiện ba bƣớc chính nhƣ trang sum.php. Ngồi ra, dữ liệu ngƣời dùng đƣợc xuất ngƣợc lại lên các ô nhập để ngƣời dùng dễ dàng theo dõi cũng nhƣ thay đổi các

giá trị rồi đệ trình tiếp. 1. <?php

2. // sum2.php

3.

Một phần của tài liệu Giáo trình Phát triển ứng dụng web: Phần 2 - Lê Đình Thanh, Nguyễn Việt Anh (Trang 52 - 53)

Tải bản đầy đủ (PDF)

(126 trang)