2013-06-18 24 views
0

好吧,我正在通過AJAX做一個登錄頁面。出於一些奇怪的原因。下面的AJAX POST頁面。Ajax發送整個頁面而不是塊

<?php 
require_once($_SERVER['DOCUMENT_ROOT'].'/lib/user.php'); 
require_once($_SERVER['DOCUMENT_ROOT'].'/lib/db.php'); 
$db = dblogin(); 

$email = $_POST['email']; 
$pass = $_POST['pass']; 
$query = "SELECT * FROM `user` WHERE `email`='".$email."'"; 

$res = $db->query($query); 
if($res->num_rows!='0'){ 
    if($res->num_rows=='1'){ 
     $list=$res->fetch_assoc(); 
    } 
}else{ 
    $list = false; 
} 
$invalid = <<<_END 

<form> 
<table> 
    <caption>Invalid credentials, please try again.</caption> 
    <tr> 
     <td>Email:</td><td><input type='email' id='email' name='email' /></td> 
    </tr> 
    <tr> 
     <td>Password:</td><td><input type='password' id='password' name='password' /> </td> 
    </tr> 
    <tr><td colspan='2' align='center'><input type='button' onclick="login()" value="Log In"></td></tr> 
</table> 
</form> 

_END; 


//if the return is false, this executes, which states that the email is not found 
//and prompts for a new login 
/*if ($list == false){ 
    $query = "INSERT INTO `failloglog` (`ip`,`email`) VALUES ('".$_SERVER['REMOTE_ADDR']."','".$email."')"; 
    $db = dblogin(); 
    $db->query($query); 
    echo $invalid; 
}*/ 

//otherwise, it compares the passwords 
//else{ 
    if (pass_compare($pass,$list['password'])){ 
     cookify($email); 
     echo "success"; 
    } 
    else{ 
     //$query = "INSERT INTO `failloglog` (`ip`,`email`) VALUES ('".$_SERVER['REMOTE_ADDR']."','".$email."')"; 
     //$db = dblogin(); 
     //$db->query($query); 
     echo $invalid; 
    } 
//} 



?> 

而不是給我的只是$invalid,它在我的console.log(response)是給我一個完全格式化的HTML頁面,該頁面在這裏https://www.dropbox.com/s/hmejactu54891p6/response.txt

這是jQuery的調用。

function login() 
{ 
    var email = $('#email').val(); 
    var pass = $('#password').val(); 
    $('#login').html('<img src="img/pleasewait.gif" id="pleasewait"/>'); 
    $.ajax({ 
     url: "http://$location/lib/ajax/login.php", 
     type: "POST", 
     data:{ 
      email: email, 
      pass: pass 
     } 
    }) 
    .always(function(response){ 
     console.log(response); 
     if(response=="success"){ 
      location.href = "http://$location/home.php"; 
     } 
     else{ 
      $('#login').html(response); 
     } 
    }); 
} 

有什麼建議嗎?

+1

它給你不只是一個完全格式化的文本,但絕對不同的頁面。你確定'http:// $ location/lib/ajax/login.php'對應你的腳本嗎? – claustrofob

+0

也許你有一個.htaccess文件重寫請求? – Pinoniq

+0

可愛[SQL注入攻擊](http://bobby-tables.com)洞。享受你的服務器pwn3d。 –

回答

0

原來是另一個我用於cookie驗證的php文件的另一塊。

//Prevents not logged in people from getting to inner pages 

if (($page != " - Login Page") AND ($page !=" - Confirm Account") AND ($page !=" - User Account Creation") AND (!ISSET($_COOKIE['key']))) 
{ 
    header("Location: http://$location"); 
} 

這是一個我將不得不返回到以後重新審查我的方法。隨着時間的推移,我計劃更新這個站點/平臺。

相關問題