2015-02-23 58 views
2

我一直在將我的android應用程序連接到我的wamp服務器,但有一天它剛醒來時發出此錯誤BasicNetwork.performRequest:對於http://192.168.43.71/database/login.php意外的響應代碼403。我確定它不是我的java代碼,但是我的服務器出了問題,我對配置服務器不是很熟悉,而且我沮喪地溺水了。我不明白的是有一次它工作,它只是決定不去。當使用volley和php連接android到mysql時,出現錯誤403禁止

這就是我想 1.使用瀏覽器中運行的腳本,它工作正常 2.卸載並重新安裝WAMP的服務器,並沒有從本地主機工作 3.移動我的數據庫到在線服務器它沒有工作 3.我意識到,只有PHP腳本中,我必須發佈參數給出了這個錯誤,在我只需要從服務器檢索數據的情況下,它不工作的參數

以下是我的登錄腳本和我的數據庫連接。我相信數據庫連接工作正常

<?php 
$response = array(); 
$array = array(); 
$details = array(); 

// check for required fields 
if (!empty($_POST)) { 
$phone_number = $_POST['user_phone_number']; 
$password = md5($_POST['user_password']); 
include 'database.php'; 
$pdo = Database::connect(); 
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
$sql2 = "SELECT * FROM users WHERE user_phone_number OR user_email = ? AND user_password = ?"; 
$result2 = $pdo->prepare($sql2); 
$result2->execute(array($phone_number,$password)); 

while ($row = $result2->fetch(PDO::FETCH_ASSOC)){ 
    $array["user_phone"] = $row["user_phone"]; 
    $array["user_id"] = $row["user_id"]; 
    $array["user_imei"] = $row["user_imei"]; 
    $array["user_name"] = $row["user_name"]; 
    $array["user_surname"] = $row["user_surname"]; 
    $array["user_phone_number"] = $row["user_phone_number"]; 
    $array["user_email"] = $row["user_email"]; 
    $array["user_password"] = $row["user_password"]; 
} 

if($result2){ 
    if($array == null){ 
    $array["user_phone"] = "error"; 
    $array["message"] = "Wrong phone number or password"; 
    $json = json_encode($array); 
    echo $json; 

}else{ 
    $json = json_encode($array); 
    echo $json; 
    } 


} 


} else { 
    $array["user_phone"] = "0"; 
    $array["message"] = "Required field(s) is missing"; 
    echo json_encode($array); 

} 
Database::disconnect(); 
?> 

數據庫連接

<?php 
class Database{ 
private static $dbName = 'testdb'; 
private static $dbHost = 'localhost'; 
private static $dbUsername = 'root'; 
private static $dbPassword = ''; 

private static $cont = null; 

public function __construct() { 
    die('Init not allowed'); 
} 
public static function connect(){ 
    //Open connection through the who;e application 
    if(null == self::$cont){ 
     try { 
      self::$cont = new PDO("mysql:host=".self::$dbHost.";"."dbname=".self::$dbName, self::$dbUsername, self::$dbPassword); 
     } catch (PDOException $ex) { 
      die($ex->getMessage()); 
     } 
    } 
    return self::$cont; 
} 
public static function disconnect(){ 
    self::$cont == null; 
} 
} 
?> 

回答

0

的問題是,可能是您的IP地址是動態的,它是變化的。有時它會工作,因爲你的當前IP地址等於你的設置(192.168.43.71)。當您啓動應用程序時,應確保您設置的IP地址與您當前的IP地址相同。可以用ifconfig終端命令。

+0

在我運行應用程序之前,ip地址是我檢查的第一件事。我很確定它的正確性 – 2015-02-24 07:57:31