2015-05-30 16 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