2012-03-06 40 views
6

thể trùng lặp:
How to redirect users to another page?Làm thế nào tôi có thể chuyển hướng một trang php đến một trang php khác?

Tôi là một người mới bắt đầu trong lĩnh vực lập trình .... Tôi muốn chuyển hướng một trang php để one..How khác là nó có thể ở cách dễ nhất? Khái niệm của tôi chỉ là di chuyển, đến trang chủ từ trang đăng nhập sau khi thực hiện kiểm tra id người dùng và mật khẩu.

Trả lời

12
<?php 
    header("Location: your url"); 
    exit; 
?> 
+0

Cảm ơn bạn đã trả lời ..... – arunrc

+1

Lưu ý rằng nếu bạn muốn liên kết đến một trang web khác, bạn phải đặt http: // ở phía trước www để nó hoạt động. –

+0

@RickHoving tất nhiên. nó là tầm thường. bạn nên chỉ định giao thức để url hợp lệ. – Juvanis

1
<?php header('Location: /login.php'); ?> 

Các php script trên chuyển hướng người dùng đến login.php trong cùng một trang web

+0

này, rất vui được gặp bạn.:) –

+0

Điều này có nên trò chuyện không? – MrCode

+0

@MrCode chat đã kết thúc :) ok. – Juvanis

1

Gửi một tiêu đề Location để chuyển hướng. Hãy ghi nhớ điều này chỉ hoạt động trước khi bất kỳ đầu ra khác được gửi đi.

header('Location: index.php'); // redirect to index.php 
+0

Cảm ơn bạn đã trả lời ..... – arunrc

1
<?php 
header('Location: http://www.google.com'); //Send browser to http://www.google.com 
?> 
+0

Cảm ơn bạn đã trả lời ..... – arunrc

-2

thể sử dụng để chuyển hướng

echo '<meta http-equiv="refresh" content="1; URL=index.php" />'; 

nội dung = 1 có thể thay đổi giá trị khác nhau để tăng sự chậm trễ trước khi chuyển hướng

+0

Thẻ meta Aha .... – itachi

+0

tôi luôn sử dụng thẻ meta để chuyển hướng.để dễ thao tác hơn. – s3polz

+0

@ s3polz: Tôi không thể hiểu được các thẻ meta này ... bạn có thể giải thích ngắn gọn về nó ... – arunrc

0

chỉ đơn giản là bạn có thể đặt này và bạn sẽ được chuyển hướng.

<?php 

header("Location: your_page_name.php"); 

// your_page_name.php thể được bất kỳ trang web mà bạn muốn chuyển hướng

?> 
+0

Cảm ơn bạn đã trả lời ..... – arunrc

+0

bạn luôn được chào đón :) –

5

Trong khi tất cả các câu trả lời khác làm việc, tất cả họ đều có một vấn đề lớn: đó là các thiết lập của trình duyệt để quyết định phải làm gì nếu họ gặp phải tiêu đề Vị trí. Thông thường, trình duyệt ngừng xử lý yêu cầu và chuyển hướng đến URI được chỉ định bằng tiêu đề Vị trí. Nhưng một người dùng độc hại chỉ có thể bỏ qua tiêu đề Vị trí và tiếp tục yêu cầu của nó. Hơn nữa có thể có những thứ khác khiến trình thông dịch php tiếp tục đánh giá tập lệnh qua tiêu đề Vị trí, không phải là những gì bạn dự định.

Hình ảnh này:

<?php 
if (!logged_id()) { 
    header("Location:login.php"); 
} 

delete_everything(); 
?> 

gì bạn muốn và dự kiến ​​là chưa đăng nhập người dùng được chuyển hướng đến trang đăng nhập, vì vậy mà chỉ đăng nhập người dùng có thể delete_everything. Nhưng nếu tập lệnh được thực thi qua tiêu đề Vị trí thì mọi thứ sẽ bị xóa. Vì vậy, nó là nhập khẩu để LUÔN chấm thoát sau một tiêu đề Vị trí, như thế này:

<?php 
if (!logged_id()) { 
    header("Location:login.php"); 
    exit; // <- don't forget this! 
} 

delete_everything(); 
?> 

Vì vậy, để trả lời câu hỏi của bạn: để chuyển hướng từ một trang php đến một trang khác (không chỉ là php, bạn có thể chuyển hướng đến bất kỳ trang theo cách này), sử dụng này:

<?php 

header("Location:http://www.example.com/some_page.php"); 
exit; // <- don't forget this! 

?> 

lưu ý nhỏ: các tiêu chuẩn hTTP nói rằng bạn phải cung cấp URL tuyệt đối trong tiêu đề Địa điểm (http: // ... như trong ví dụ của tôi ở trên) thậm chí nếu bạn chỉ muốn chuyển hướng đến một tệp khác trên cùng một tên miền. Nhưng trong thực tế, các URL tương đối (Location: some_page.php) hoạt động trong tất cả các trình duyệt, mặc dù không tuân thủ tiêu chuẩn.

+0

Cảm ơn bạn đã trả lời có giá trị .... – arunrc

+0

Tiếp theo [HTTP/1.1 revivision ("HTTPbis")] (http://tools.ietf.org/wg/httpbis/) cho phép rõ ràng các URL tương đối cho tiêu đề Vị trí:, để phê chuẩn thực tiễn tiêu chuẩn hiện tại thực tế. – mario

Các vấn đề liên quan