在运行一个Ajax实例时,负责处理的PHP页面中的header()总是无法跳转到指定的网页,首先可能的错误:
1.header("Location:xx.PHP");中Location和冒号之间不能有空格,也不能使用全角字符的冒号;
2.header()之前不能有输出的语句。
仔细看了一下,我的代码里没有这样的问题,只好求助论坛高手,后来经指导加入了以下代码就可以跳转了:
$username=$_POST['username'];
$password=$_POST['passwd'];
$host=$_SERVER['HTTP_HOST']; //加入的代码
$uri=rtrim(dirname($_SERVER['PHP_SELF']),'/\\'); //加入的代码
if($password=="123"){
header("Location:http://$host$uri/friendlist.PHP");
}else{
header("Location:http://$host$uri/login.PHP");
}
网上搜了一下,如果完整的URL是http://www.126.com/index.PHP
$_SERVER['HTTP_HOST']就等于"http://www.126.com"
$_SERVER['PHP_SELF']就等于"/index.PHP"
rtrim()方法从右删除字符,这里是删除了'/\\',去掉了"/index.PHP"中的"/"
dirname(path)方法返回路径中的目录部分。
问题应该出在路径上
原文链接:https://www.f2er.com/ajax/166149.html