PHP头()不工作

PHP头()不工作,php,redirect,header,Php,Redirect,Header,如果用户的输入不在数据库中,我将尝试重定向用户 $checkid = $_POST["id"]; $query = "SELECT id, Status FROM profileinfo WHERE id=$checkid"; $res = mysqli_query($link, $query); $nres = mysqli_num_rows($res); if ($nres == 0) { header( "Location: login.php")); exit()

如果用户的输入不在数据库中,我将尝试重定向用户

$checkid = $_POST["id"];

$query = "SELECT id, Status FROM profileinfo WHERE id=$checkid";

$res = mysqli_query($link, $query);

$nres = mysqli_num_rows($res);

if ($nres == 0) {
    header( "Location: login.php"));
    exit();
}
而且它不会重定向。。它只是给了一个空白页。前后没有任何HTML标记,也没有任何echo标记。

有一个额外的
,是否检查了语法错误

header( "Location: login.php"));
                              ^
有一个额外的
,您检查语法错误了吗

header( "Location: login.php"));
                              ^
您在
标题(“Location:login.php”)中有一个
太多

使用:

另外,我相信
之间的空格也会产生影响。我以前见过这种情况

旁注:建议在相对URL上使用绝对URL(
http://
),PHP.net手册中也提到了这一点

编辑:我必须承认,我在
之间的空格)上犯了一个小小的错误,但是这是有一定道理的,因为我混淆了
位置
之间的空格(对于任何阅读本文的人来说);标头将不会重定向。即:
标头(“Location:login.php”);
将无效。这已经过测试。

您在
标头(“Location:login.php”)中有一个
太多;

使用:

另外,我相信
之间的空格也会产生影响。我以前见过这种情况

旁注:建议在相对URL上使用绝对URL(
http://
),PHP.net手册中也提到了这一点


编辑:我必须承认,我在
之间的空格)上犯了一个小小的错误,但是这是有一定道理的,因为我混淆了
位置
之间的空格(对于任何阅读本文的人来说);标题将不会重定向。即:
标题(“Location:login.php”);
将无效。这已经过测试。

我厌倦了在评论框中键入,因此这里有一个替代答案:)

根本问题是没有帮助的空白屏幕,当你在开发时,你想看到出现的任何错误

我建议您设置以下PHP选项:

display_errors On
error_reporting -1
html_errors On
如何添加这些设置?取决于您的具体系统…但如果您有apache服务器,最简单的方法可能是在PHP文件所在的文件夹中添加名为
.htaccess
的文件。在这种情况下,您的文件将如下所示:

# this is your .htaccess file
php_flag display_errors On
php_value error_reporting -1
php_flag html_errors On
Apache将读取此文件并将运行时设置传递给PHP。详细信息如下:

在这里:


另外一条建议-当你启动网站时,将“显示错误”更改为“关闭”,这样你就不会向黑客伸出援助之手。

我厌倦了在评论框中键入内容,所以这里有一个替代答案:)

根本问题是没有帮助的空白屏幕,当你在开发时,你想看到出现的任何错误

我建议您设置以下PHP选项:

display_errors On
error_reporting -1
html_errors On
如何添加这些设置?取决于你的确切系统。。。但是,如果您有apache服务器,最简单的方法可能是在PHP文件所在的文件夹中添加一个名为
.htaccess
的文件。在这种情况下,您的文件将如下所示:

# this is your .htaccess file
php_flag display_errors On
php_value error_reporting -1
php_flag html_errors On
Apache将读取此文件并将运行时设置传递给PHP。更多信息请点击此处:

在这里:



另外一条建议-当您启动网站时,请将“显示错误”更改为“关闭”,这样您就不会向黑客伸出援助之手。

如果您的查询返回结果,根据您在此处发布的内容,将显示一个空白页?您确定在标题()之前没有空白或额外的行吗?我去过那里很多次,错误是肉眼看不见的,但HTML看不见;)确保没有输出(
echo
print
前有空格,如果查询返回结果,根据您在此处发布的内容,将显示一个空白页?您确定页眉()前没有空格或额外的行打印吗?我去过那里很多次,错误肉眼看不见,但HTML看不见;)确保没有输出(
echo
print
前面的空格,也建议绝对URI优于相对URI。谢谢!天哪……我不敢相信我没有看到lol,我感谢你们,因为你们显然同时回答了lol。好吧!我会使用绝对url!@Dagon True,我同意绝对方法。我想在哦,但一切都很好,您即将加入10k俱乐部:-)将更新您的评论@Dagon并包含在编辑中。此外,建议绝对URI优于相对URI。谢谢!天哪!我不敢相信我没有看到lol,我感谢这两个,因为您显然在同一时间回答了lol。好吧!那么我将使用绝对url!@Dagon True,我同意绝对方法。我想在op上对此进行评论,但所有很好,您即将加入10k俱乐部:-)将在@Dagon更新您的评论并包含在编辑中。实际上@xdazz以9秒的速度回答。我建议您在开发过程中设置以下PHP选项:
错误报告上显示错误-1
上显示html错误,然后您将看到发生了什么,而不是一个毫无帮助的空白屏幕:)@contrebis谢谢!我该怎么做?我只需键入“在错误报告中显示错误-在报告中显示1个html错误”在我的php代码中?事实上@xdazz以9秒的速度回答了问题。我建议您在开发过程中设置以下php选项:
display_errors On
error_reporting-1
html_errors On
然后您将看到发生了什么,而不是一个无用的空白屏幕:)@contrebis谢谢!我该怎么做?我只是在我的php代码中键入“在错误报告中显示错误-1 html错误”?