1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu PHP Tutorial part 9 ppt

2 289 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Chuyển hướng người dùng với PHP
Chuyên ngành PHP
Định dạng
Số trang 2
Dung lượng 121,41 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chuyển hướng người dùng với PHP Đôi lúc người dùng sẽ gửi 1 yêu cầu và ta muốn chuyển hướng họ đến 1 trang khác trước hoặc sau khi xử lý.. Ví dụ đơn giản như: khi người dùng điền vào for

Trang 1

Chuyển hướng người dùng với PHP

Đôi lúc người dùng sẽ gửi 1 yêu cầu và ta muốn chuyển hướng họ đến 1 trang khác trước hoặc sau khi xử lý Ví dụ đơn giản như: khi người dùng điền vào form đăng ký để tạo tài

khoản mới, form gửi theo method post đến file process_new_user.php, đoạn mã này, sau

khi chạy thành công sẽ chuyển người dùng (đã đăng ký) đến trang

welcome_new_user.php như sơ đồ:

Nếu ta muốn xử lý gì đó rồi sau đó chuyển người dùng đến 1 trang mới trong PHP thì có

thể sử dụng hàm header Hàm này cho phép chúng ta gửi trở lại cho máy người dùng

những "HTTP header" để thực hiện những yêu cầu khác nhau Nó có thể sử dụng nhiều

loại header khác nhau, nhưng ta sẽ sử dụng header Location để giải quyết nhu cầu của

mình Ví dụ, ta có file process_new_user.php như sau

PHP Code:

<?php

// Tao tai khoan moi voi thong tin trong $_POST

$processing_error = create_new_user_account(

$_POST['username'], $_POST['fullname'],

$_POST['password']);

// Chuyen huong den trang moi neu khong co loi gi xay ra

if ($processing_error === FALSE)

{

header('Location: http://' $_SERVER['HTTP_HOST']

dirname($_SERVER['PHP_SELF'])

'/welcome_new_user.php');

}

else

{

// Co loi! Chuyen huong lai trang tao tai khoan

header('Location: http://' $_SERVER['HTTP_HOST']

dirname($_SERVER['PHP_SELF'])

'/create_account.php?err='

$processing_error);

Trang 2

}

?>

Phải chú ý 1 điều quan trọng khi sử dụng hàm header là không được in ra bất cứ kí tự nào

trước khi sử dụng hàm, nếu không sẽ báo lỗi! Đoạn mã sau chắc chắn sẽ báo lỗi:

PHP Code:

<?php

header('Location: http://' $_SERVER['HTTP_HOST']

'/welcome2.php');

?>

Lý do báo lỗi vì có phần khoảng trắng trước <?php Nếu 1 trong các file bạn include vào

cũng có khoảng trắng nằm ngoài phần mã PHP thì cũng sẽ gặp lỗi tương tự

Có 1 cách khác là sử dụng header META Với cách này, bạn có thể yêu cầu trình duyệt tự

động chuyển hướng tới 1 trang mới:

PHP Code:

<?php

echo <<EOH

<meta

http-equiv='refresh' content='0; url="http://$_SERVER['HTTP_HOST']/welcome2.php"/> EOH;

?>

Tuy nhiên cách này có 1 nhược điểm là nếu trình duyệt đã bị tắt chức năng này thì sẽ

không có gì xảy ra hết! Nói chung, chúng ta sẽ thường sử dụng hàm header khi muốn

chuyển hướng người dùng với PHP

End

Mr.paint(UDS)

Ngày đăng: 21/01/2014, 16:20

TỪ KHÓA LIÊN QUAN