2015-05-30 18 views
0

我正在使用TMForm.js来执行bat/MailHandler.php文件来验证登录表单的用户名和密码。我正在使用Firefox Firebug检查bat/MailHandler.php的请求和响应,这是正常工作,它会检查数据库验证用户名和密码,但无法使用location标题将控制权转移回登录页面,如下面的代码所示。标题位置在我的bat/MailHandler.php文件中不起作用。我在这里粘贴代码,请指导我解决方案。PHP - MailHandler.php标题位置不在这里工作

<?php 
    include("../connect.php"); 

    $userName=$_POST['name']; 
    $password=$_POST['state']; 
    //$value=$_POST['check']; 

    $sql="SELECT * from login where email='".$userName."'"; 

    $result=mysql_query($sql) or die(mysql_error()); 
    while ($row=mysql_fetch_array($result)){ 
     $memID=$row['id']; 
     $userNamedb=$row['email']; 
     $passworddb=$row['password']; 
    } 

    if($userName==$userNamedb && $password==$passworddb){ 
     session_start(); 
     $_SESSION['id']= $memID; 
     $_SESSION['uname']= $userName; 
     $_SESSION['upassword']= $password; 
     header("location:../afterlogin.php"); 
    } 
    else{ 
     $flag=1; 
     header("location:../memberlogin.php?valid=".$flag); 
    } 
?> 

回答

0

HTTP/1.1需要的绝对URI作为参数传递给位置:包括方案,主机名和绝对路径

http://php.net/manual/en/function.header.php

上面的链路也具有示例如何修改你的代码。


旁注:

1.

$userName=$_POST['name']; 
// ... 
$sql="SELECT * from login where email='".$userName."'"; 

不要这样做。此代码易受SQL注入攻击。另请参见:

2.

不要使用mysql_*功能。使用mysqli_*代替:

不推荐使用旧的MySQL扩展新的发展,因为它已被弃用PHP 5.5.0的,并会在将来被移除。

http://php.net/manual/en/mysqlinfo.api.choosing.php