-1

我已经使用 php 代码重定向到另一个页面,但它不起作用。我不知所措。请帮我。我正在给出代码片段。

if($row->cnt==1){
    echo "Succes.";
    // header ('Location:HomePage.php); 
    header("Location:http://localhost/library/HomePage.php");
}
4

2 回答 2

1

header在使用指令之前,您已经在发送内容。

来自PHP 手册

请记住,header()必须在发送任何实际输出之前调用它,无论是通过普通 HTML 标记、文件中的空白行还是通过 PHP。include使用, or , 函数或其他文件访问函数读取代码是一个非常常见的错误,并且在调用require之前输出有空格或空行。header()使用单个 PHP/HTML 文件时也存在同样的问题。

echo您应该在使用前删除header.

如果您使用大量文件并且在使用之前不确定是否没有输出,header您应该查看输出控制功能

于 2012-11-05T11:34:11.640 回答
1

对于通过header()调用成功的 PHP 重定向,它必须在任何页面输出之前,即在任何其他 header()、打印或回显语句之前。例如,这将起作用。

<?php

header("Location: http://someurl.com");
exit;
?>

虽然这不会:

<?php
echo "Some text";
header("Location: http://someurl.com");
exit;
?>

如果你已经在页面上输出了一些东西,你应该像这样通过 Javascript 重定向:

<script type="text/javascript">
window.location = "http://someurl.com";
</script>
于 2012-11-05T11:36:56.643 回答