if ($num_rows == 0 && $num_rows2 == 0) {
echo 'result1';
header('Location:enter-work.php');
die();
} else if ($num_rows >= 0 || $num_rows2 >= 0) {
echo 'result2';
header('Location:similar-work.php');
die();
}
我有上面的代码,我正在测试,它正确地回显出样例文本'result1'或'result2'每次我刷新这个代码的页面,但它不是重定向到enter-work.php或类似的工作。php就像它在我的本地主机服务器。在我的本地主机服务器上,我甚至可以将其链接到在线网站(即。google.com)。我在编写html之前输入了上面的代码——甚至在声明doctype之前。
不知道是什么原因引起的问题,需要一些帮助。
编辑:正如Pekka在他的评论中提到的(关于选定的答案),问题是我在header()函数之前有回声和空白。
发送头信息前不能输出任何内容。
如果您这样做,本地服务器和活动服务器的行为不同,可能是因为不同的输出缓冲设置。
无论如何,它应该工作,如果你删除回声
对于任何一个人来说仍然面临同样的问题:首先,在yourfile.php
中尝试简单的header()
代码,如果问题解决了,则删除任何其他内容,这意味着旧代码中的问题。
第二:header ()
应该工作,甚至与其他内容,如echo "等…
最后:如果您尝试了简单的header()
代码,问题仍然没有解决,请联系您的主机提供商。