如何将php页面重定向到另一个php页面?

时间:2012-03-06 09:50:24

标签: php

  

可能重复:
  How to redirect users to another page?

我是编程领域的初学者....我想将一个php页面重定向到另一个..如何以最简单的方式实现?我的概念只是在检查用户ID和密码后从登录页面移动到主页。

7 个答案:

答案 0 :(得分:14)

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

答案 1 :(得分:5)

虽然所有其他答案都有效,但它们都有一个大问题:如果遇到Location标题,由浏览器决定该怎么做。通常,浏览器会停止处理请求并重定向到使用Location标头指示的URI。但恶意用户可能会忽略Location标头并继续其请求。此外,可能还有其他因素会导致php解释器继续通过Location标头评估脚本,这不是您想要的。

想象一下:

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

delete_everything();
?>

您想要和期望的是未登录的用户被重定向到登录页面,因此只有登录的用户才能删除_ething。但是如果脚本通过Location头执行,那么一切都会被删除。因此,总是在位置标题之后放置一个退出是重要的,如下所示:

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

delete_everything();
?>

所以,回答你的问题:从php页面重定向到另一个页面(不只是php,你可以用这种方式重定向到任何页面),使用这个:

<?php 

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

?>

小注意:HTTP标准表示您必须在Location标头中提供绝对URL(http:// ...就像我上面的示例中一样),即使您只想重定向到同一域上的另一个文件。但实际上,相对URL(位置:some_page.php)适用于所有浏览器,但不符合标准。

答案 2 :(得分:1)

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

上面的php脚本将用户重定向到同一站点中的login.php

答案 3 :(得分:1)

发送Location标头以重定向。请记住,这仅在发送任何其他输出之前有效。

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

答案 4 :(得分:1)

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

答案 5 :(得分:0)

只需你可以放置它,你将被重定向。

<?php 

header("Location: your_page_name.php"); 

// your_page_name.php可以是您要重定向的任何页面

?>

答案 6 :(得分:-2)

可以使用它来重定向

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

content = 1可以更改为不同的值以增加重定向之前的延迟