Pages

Thứ Tư, 15 tháng 6, 2016

Hàm chuyển hướng header() trong PHP

Trong PHP, hàm header() được dùng để gửi một HTTP header thô tới trình duyệt.


Cú pháp:
1
header(string,replace,http_response_code)
Trong đó:
* string: là tham số dạng chuỗi chỉ định loại header sẽ được gửi, bắt buộc phải nhập vào. Các loại string header thường dùng là: Location, Cache-Control,Content-type. Song phổ biến nhất là Location. Tham khảo thêm tại:
http://www.w3schools.com/php/func_http_header.asp
* replace: tham số chỉ định liệu header có nên bị thay thế hay là thêm một header thứ hai vào. Mặc định nó là TRUE(sẽ replace), nhưng nếu truyền vào là FALSE thì bạn sẽ có thể truyền vào nhiều header cùng loại. Tham số này không bắt buộc.
* http_response_code: Yêu cầu đoạn mã HTTP trả về bằng một giá trị nhất định. Đây là tham số không bắt buộc.
B1: Tạo file bai6.php và file result.php trong thư mục \wamp\www. Nhập đoạn code sau vào file bai6.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!DOCTYPE html>
<html>
<head>
<title>Bài 6 - Header</title>
</head>
 
<body>
 
<form method="post" action="result.php">
 
    <input type="text" name="userName" />
    <input type="submit" value="Send" />
 
</form>
 
</body>
</html>
B2: Nhập đoạn code sau vào file result.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
 
//Kiểm tra xem có biến post userName không
//Nếu có thì in ra biến post userName
//Nếu không thì chuyển hướng về trang bai6.php
if(isset($_POST['userName']))
{
    echo $_POST['userName'];
}
else
{
    header("Location: bai6.php");
}
 
?>
B3: Mở trình duyệt, nhập đường dẫn http://localhost/result.php. Kết quả:
Hàm header() trong PHP
Mặc dù chúng ta nhập đường dẫn là http://localhost/result.php. Nhưng bên trong file result.php, kiểm tra thấy không có biến post userName nên nó tự động chuyển về header bai6.php như chúng ta đã thấy.
B4: Nhập vào text box một đoạn tùy chọn rồi nhấn nút Send
Hàm header() trong PHP
B5: Kết quả trả về trang result với đoạn text vừa nhập được in ra
Hàm header() trong PHP