2016-04-30 120 views
0

因此,我正在爲我的遊戲寫入一個帳戶登錄區域,並在我的網站上使用json獲取操作調用log.php。 json動作看起來像這樣http://domain.com/log.php?fname='"&myUserName&"'&fpass='"&myPassword&"'使用php檢索表值

log.php內容如下。

<?php header('Access-Control-Allow-Origin: *'); 

    $username = $_GET['fname']; 

    $password = $_GET['fpass']; 

    $connect = mysqli_connect("localhost","user","pass","db") or die("Could not connect"); 

    $sql = "SELECT id FROM members WHERE username = '$username' and password = '$password'"; 

    $result = mysqli_query($connect, $sql); 

    if($result === FALSE) { 
      die(mysql_error()); 
    } 

    while ($row = mysqli_fetch_array($result)) { 

     echo $row['id']; 

    } 

mysql_close($connect); 

?> 

我從它沒有得到任何錯誤,但它不返回id,即假設在遊戲中設置變量「userID」。它仍然是空白的。任何想法如何讓這個工作?

感謝

+0

你在混合mysql和mysqli。爲什麼你要發送敏感數據? – HddnTHA

回答

0

您使用

$username = $_GET['fuser']; 

但你的鏈接使用 'FNAME' 在查詢字符串。

0

變化

$username = $_GET['fname'];

0

您需要使用json_encode()函數生成一個JSON響應。

$username = $_GET['fname']; 

    $password = $_GET['fpass']; 

    $connect = mysqli_connect("localhost","user","pass","db") or die("Could not connect"); 

    $sql = "SELECT id FROM members WHERE username = '$username' and password = '$password'"; 

    $result = mysqli_query($connect, $sql); 

    if($result === FALSE) { 
      die(mysql_error()); 
    } 

    while ($row = mysqli_fetch_array($result)) { 
     $res = array("userID"=> $row['id']); 
    } 
    mysql_close($connect); 
    echo $res_json = json_encode($res); 
    ?> 

以及您的客戶端,你將訪問使用解析JSON & data.userID

0

沒關係,我有一個哥們編碼的幫助下解決了這個問題。如果你們有興趣尋找,這裏是修復。

<?php 
header('Access-Control-Allow-Origin: *'); 
error_reporting(0); 
require 'connection.php'; 

$username = $_GET["fname"]; 
$password = $_GET["fpass"]; 

$safeuser = $db->real_escape_string(md5($username)); 
$safepass = $db->real_escape_string(md5($password)); 

if($result = $db->query("SELECT * FROM `members` WHERE username='".$safeuser."' AND password='".$safepass."'")){ 
    if ($count = $result->num_rows){ 

     while($row = $result->fetch_assoc()){ 
      echo $row['id']; 

     } 


    } 
} 

$ db-> close(); ?>