我的问题是在我成功登录后,它没有重定向到我应该去的页面。
另外,我正在使用apache服务器。
下面是我认为需要修复的PHP部分。
if($count==1){
// Register $Username, $Password and redirect to file "login_success.php"
session_register("Username");
session_register("Password");
echo "Correct Username & Password";
header("location:$http://localhost/.../contacts.html");
}
else {
echo "Wrong Username or Password";
header("location:../php/error.php");
}
使用
header("location:$http://localhost/.../contacts.html");
我得到403 Forbidden错误.. 这个错误没有出现在网页上,而是出现在萤火虫上。
如果我用
替换 header( 'Location: http://localhost/.../contacts.html' ) ;
或
header("Location: ./../contacts.html");
或
header('Location: ./../contacts.html');
它没有给我任何错误,但它只通过显示contacts.html的html代码并且不显示页面本身而在firebug中响应..
请帮我解释一下如何解决这个问题
抱歉任何语法错误和难以理解:)
答案 0 :(得分:2)
如documentation所述,如果您之前打印过一些html,则无法使用header
。
(你以前甚至不能留空格。)
只需删除echo
,就可以了。
答案 1 :(得分:1)
一旦echo
发送任何内容或发送任何输出,您的标头就会被发送。因此,在执行此操作后,您无法操纵标题。您可以通过简单搜索SO
https://stackoverflow.com/search?q=headers+already+sent
当你将它们重定向到下一行时,有什么回应的东西? :P
修改:此声明中是否存在美元符号的原因:header("location:$http://localhost/.../contacts.html");
? $http
是变量吗?也许尝试删除美元符号..
答案 2 :(得分:-1)
在http之前删除$
符号并完成...