Chuong XIII : Cấu trúc switch case

Cấu trúc switch case

 

bài thứ 2 trong php
Trên nhiều diễn đàn về tin học có rất nhiều bạn thắc mắc rằng: Làm sao để tạo 1 đường link như: index.php?page=about ?Câu trả lời rất đơn giản, đó là dùng switch case! Vậy switch case là gì? Bài viết này sẽ giúp bạn hiểu được phần nào.
– Để bắt đầu bạn phải có những hiểu biết cơ bản về ngôn ngữ HTML, vì bài viết này chỉ tập trung
vào mã PHP nên chúng ta sẽ không nhắc lại cách làm việc với ngôn ngữ HTML.
– Đầu tiên tôi sẽ giới thiệu với bạn cú pháp điều khiển cấu trúc switch case của PHP:

PHP Code:

<?
switch($giá trị xét)
{
case “trường hợp 1”: Hành động 1; break;
case “trường hợp 2”: Hành động 2; break;
default: Hành động mặc định;
}
?>
– Cấu trúc này sẽ lấy “giá trị xét”, nếu “giá trị xét” bằng “trường hợp 1″ thì sẽ thực hiện “hành động 1″, nếu “giá trị xét” bằng “trường hợp 2″ thì sẽ thực hiện “hành động 2″, tương tự như vậy cho nhiều giá trị được xét sau (3,4,5…) Nếu trong giá trị xét nằm ngoài tất cả các trường hợp thì khi đó PHP sẽ thực hiện “hàng động mặc định” trong phần default của chúng ta.
– Ví dụ chúng ta có 1 đoạn mã PHP sau: ( file: index.php )

PHP Code:

<?
switch($_GET[“page”])
{
case “home”: echo (“hành động 1”); break;
case “about”: echo (“hành động 2”); break;
default: echo (“hành động mặc định”);
}
?>
Ở đây có một điểm cần lưu ý. Đó là hàm $_GET, hàm này sẽ lấy biến trực tiếp từ trên thanh address của browser. Trong trường hợp này là lấy biến page ( mình sẽ dùng biến page để minh họa cho toàn bài viết ) . Sau khi lấy được biến page, PHP sẽ xét, nếu biến page bằng “home” hay “about” thì sẽ thực hiện hành động tương ứng. Xem chi tiết bên dưới bạn sẽ hiểu rõ hơn:
* Giới thiệu hàm echo() : chèn những thẻ html vào trong mã lập trình php hoặc in ra những đoạn văn bản , php trên máy chủ sẽ phân tích và trả về trình duyệt dưới dạng mã html.

Đường dẫn Nội dung
http://server/index.php Hành động mặc định
http://server/index.php?page=home Hành động 1
http://server/index.php?page=about Hành động 2

– Bạn cũng có thể gán những giá trị khác tùy thích như: id,action…
– Đến đây chắc các bạn cũng đã phần nào hiểu ra vấn đề rồi đúng không nào. Để thực hiện được mục đích trên chúng ta cần biết về hàm include()
*Giới thiệu hàm INCLUDE():
Là hàm dùng để chèn nội dung của một file khác vào tại vị trí của nó. Nội dung này có thể là một đoạn mã HTML, một tập hợp lệnh PHP khác…

– Và bây giờ chúng ta bắt đầu thực hiện thay thế hàm echo() bằng hàm include():
– Bạn hãy tạo 3 file như sau: index.php ; about.htm ; default.htm
– Nội dung trang index.php

PHP Code:

<?
switch($_GET[“page”])
{
case “about”:
include (“about.htm”);
exit; break;

default:
include (“default.htm”);
}
?>
Nội dung trang about.htm

HTML Code:

 <html>

Đây là nội dung trang about.htm

</html>

Nội dung trang default.htm

HTML Code:

  <a href=”index.php?page=about”>Link đến trang about.htm</a><br>

<a href=”index.php”>Default</a>

Bạn hãy upload 3 file này lên server.
+ Bây giờ thử chạy file index.php (vd: http://server/index.php ), nội dung của bạn nhận được sẽ là nội dung của trang default. Vì ở đây biến page không được xác định.
+ Bạn hãy click vào link: Link đến trang about.htm bạn sẽ nhận được nội dung của file about.htm là: “Đây là nội dung trang about.htm”
+ Bây giờ bạn hãy nhìn lên thanh address bar, đường dẫn trên thanh address bar không còn là http://server/about.htm mà đã thành http://server/index.php?page=about
Với cách làm trên không những giúp bạn tạo ra những liên kết đẹp mắt và chuyên nghiệp , mà giúp bạn tiết kiệm rất nhiều công sức khi muốn chỉnh sửa trang web.Ví dụ bạn muốn chỉnh sửa trang gioithieu.htm thành about.htm thì trước đây bạn sẽ phải sửa toàn bộ những liên kết đến trang gioithieu.htm có trên website, nhưng với cách làm giới thiệu trong bài viết bạn chỉ việc sửa đổi trong tệp tin index.php.
nguồn http://hanhhn.chuyenlequydon.com/19

 

hanhdb(UDS)

  1. Leave a comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: