在运行一个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)方法返回路径中的目录部分。
问题应该出在路径上
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。