2015-09-14 168 views
-1

我有以下登錄腳本。用PHP登錄腳本的JSON響應

<?php 

include("connect.php"); 
include("functions.php"); 
$error = ""; 

$j = new stdClass(); 
$j->status = "success"; 
$j->message = "Logged In"; 

if(isset($_POST['submit'])){ 


    $email = mysqli_real_escape_string($con,$_POST['email']); 
    $password = mysqli_real_escape_string($con,$_POST['password']); 

    if(email_exists($email,$con)){ 
     $error = "Email Exists"; 

     echo json_encode($j); 
    }else{ 
     $error = "Email does not exist"; 


    } 

} 

?>

的functions.php文件是。

<?php 
function email_exists($email,$con){ 


    $result = mysqli_query($con,"SELECT id FROM users WHERE email='$email'"); 

    if(mysqli_num_rows($result) == 1){ 
     return true; 
    }else{ 
     return false; 
    } 
} 

?>

什麼我做的是從數據庫中選擇的ID和檢查電子郵件與

mysqli_num_rows(query) 

函數存在。如果它返回一個或是真的,那麼電子郵件存在,所以用戶可以登錄。如果不是意味着我們返回0或false,那麼電子郵件不存在,因此用戶不能登錄。

我想返回每個案例一個JSON響應。例如,如果用戶的電子郵件被找到然後。

{ 
    "status":"success" 
    "message:"You are now logged in" 
} 

當用戶的電子郵件沒有找到,那麼,

{ 
    "status":"fail" 
    "message:"email not found" 
} 

任何想法?我創建了以下變量,但僅用於成功案例。我希望在發現沒有電子郵件時將相同變量更改爲失敗

$j = new stdClass(); 
$j->status = "success"; 
$j->message = "Logged In"; 

謝謝。

+1

你有json_encode數組,而不是一個對象,函數是一個創建對象的客戶端 –

+0

爲什麼送?它也適用於對象;) – l0rkaY

回答

0

試試這個:

$qry ='SELECT * FROM `registration` WHERE `email`="'.$email.'" && `password`="'.$password.'"'; 
$login = mysqli_query($con, $qry) or die (mysqli_error()); 
$no_of_row=mysqli_num_rows($login); 
$row1 = mysqli_fetch_assoc($login);  
    if($no_of_row==1) 
{ 
    $response["error"] = 0; 
    $response["success"] = 1; 
    $response["email"] = $email; 
    $response["message"] = "You Logged In Successfully"; 


} 
echo json_encode($response); 
+0

它的工作方式也是如此。謝謝。 – Theo

+0

如果是工作,請接受爲答覆。 –

+1

這是您的解決方案嗎?但是如何? :d – l0rkaY

1

這是什麼問題? :)

可能:

if(!email_exists($email,$con)){ 
    $j->status = "fail"; 
    $j->message = "Email does not exist"; 

} 

echo json_encode($j); 
+0

謝謝。它的工作原理:) – Theo

-1

我找到了答案。

if(email_exists($email,$con)){ 
     $error = "Email Exists"; 
     echo json_encode(array('status' => 'success', 'message' => 'Logged in')); 


    }else{ 
     $error = "Email does not exist"; 
     echo json_encode(array('status' => 'fail', 'message' => 'Email not found')); 

    } 

我現在想不出別的什麼。

+0

閱讀我的答案...:D – l0rkaY