我正在使用php头函数进行重定向,但它无法正常工作。我正在使用以下代码。
$sql=mysql_query("select * from password where username='$email' and password1 = '$pwd'");
//echo "selct * from password where username='$email' and password = '$pwd'";
$row=mysql_fetch_row($sql);
$fieldset=mysql_num_rows($sql);
$host=$_SERVER['HTTP_HOST']."/beta/";
if($fieldset>0 && $conEmail !="")
{
$_SESSION['email']=$email;
$_SESSION['Email']=$email;
$_SESSION['memberID']=$id;
$_SESSION['status']='Admin';
header("location:http://".$host."member.php");
}
答案 0 :(得分:0)
确保if语句的评估为true。在header语句之前放置echo "Testing host=".$host;
并查看它是否执行。如果是这样,请确保正确设置$host
的值。
如果您仍处于亏损状态,请确保服务器没有做一些时髦的事情,所以请将其放在页面顶部:
header( "Location: http://www.stackoverflow.com" );
答案 1 :(得分:0)
您的重定向行需要具有大写“L”的“位置” 标题( “位置:http://”。$主机 “member.php”);
因为官方规范没有“location”标题,而是“Location”。
你的方式会在没有任何警告的情况下失败。
自: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
Location response-header字段用于将收件人重定向到Request-URI以外的位置,以完成请求或标识新资源。对于201(已创建)响应,Location是请求创建的新资源的位置。对于3xx响应,位置应该应该指示服务器自动重定向到资源的首选URI。字段值由单个绝对URI组成。
Location = "Location" ":" absoluteURI
一个例子是:
Location: http://www.w3.org/pub/WWW/People.html
Note: The Content-Location header field (section 14.14) differs
from Location in that the Content-Location identifies the original
location of the entity enclosed in the request. It is therefore
possible for a response to contain header fields for both Location
and Content-Location. Also see section 13.10 for cache
requirements of some methods.
答案 2 :(得分:0)
尝试在'location:'后面加一个空格
header("location:http://".$host."member.php");
变为
header("location: http://".$host."member.php");