2017-10-09 18 views
-6

これは私のPHPファイルです。私はアンドロイドのデータをJSONオブジェクトとして解析したい。私はこれを行うことができます。Jsonを使用してサーバーからデータを解析するにはどうすればよいですか?

<?php 
include("../include/connection.php"); 
    $old_pass="1234"; 
    $new_pass="123"; 
    $re_pass="123"; 
    $contact_no="8285663445"; 
    $chg_pwd="select * from users where contact_no='$contact_no'"; 
    $data=mysqli_query($conn,$chg_pwd) or die(mysqli_error($conn)); 
    $chg_pwd1=mysqli_fetch_array($data); 
    $data_pwd=$chg_pwd1['password']; 
    if($data_pwd==$old_pass){ 
    if($new_pass==$re_pass){ 
     $update_pwd="update users set password='$new_pass' where contact_no='$contact_no'"; 
     $updata=mysqli_query($conn,$update_pwd) or die(mysqli_error($conn)); 
     $json = array("status" => 1, "msg" => "password reset successfully"); 
    } 
    else{ 

     $json = array("status" => 0, "msg" => "Your new and Retype Password is not match!"); 
    } 
    } 
    else 
    { 
    $json = array("status" => 0, "msg" => "Request method not accepted"); 
    } 
header('Content-type: application/json'); 
echo json_encode($json); 
?> 

これは私がサーバーから応答を得ようとしている私のアンドロイドの機能です。

private void signupTrace(String response) throws JSONException { 
    JSONObject jsonObject= new JSONObject(response); 
    if(jsonObject.getString("status").equals("1")){ 
     Log.e("log", "" + response); 
     String mesg= jsonObject.getString("msg"); 
     Log.e("msg",""+mesg); 
     Toast.makeText(Change_Password.this,mesg, Toast.LENGTH_SHORT).show(); 
     finish(); 
    } 
    else if (jsonObject.getString("status").equals("0")){ 
     String mesg= jsonObject.getString("msg"); 
     Toast.makeText(Change_Password.this,mesg, Toast.LENGTH_SHORT).show(); 
    } 
    else { 
     Snackbar.make(findViewById(android.R.id.content), " Server failed", Snackbar.LENGTH_LONG) 
       .setAction("Undo", null) 
       .setActionTextColor(Color.RED) 
       .show(); 
    } 
} 

これは私のログキャットに入っています。

0から09 15:33:23.578 23721から25138/com.pickpamphlet.easydeals E/mapvalue {old_pass = 12345、contact_no = 8947897487、re_pass = zxcvbnm、new_pass = zxcvbnm}
10月9日15: 33:24.813 23721から23721/com.pickpamphlet.easydealsのE /ログ:{ "ステータス":0、 "MSG": "リクエストメソッドが受け入れられない"} Androidのコードで」

答えて

0

JSON解析が正しく行われています。

1234は、データベースのパスワードではありません。あなたの状態が正しいかどうか確認してください。

if($data_pwd==$old_pass){ 

} 
else 
{ 
    $json = array("status" => 0, "msg" => "Request method not accepted"); 
} 

PHPの条件を正しく確認し、正しい値を渡していることを確認してください。

+0

ありがとうございました。問題は私のPHPスクリプトにあった。 –