2016-04-16 29 views
1

ログイン/登録用のアンドロイドスタジオでプロジェクトを作成します。 私はvolleyライブラリと私のjavaコードを私のdatabase.The POSTメソッドと完全に動作し、私は私のdatabase.Butに情報を挿入することができます私のjavaコードを接続するPHPスクリプトを使用してresponse.Semems私のPHPスクリプトにエラーがあります。ここ は、PHPスクリプトです:レスポンスメソッドがPHPスクリプトで正しく動作しません

$con = mysqli_connect("mysql10.000webhost.com", "a3288368_user", "abcd1234", "a3288368_data"); 

$name = $_POST["name"]; 
$age = $_POST["age"]; 
$username = $_POST["username"]; 
$password = $_POST["password"]; 
$statement = mysqli_prepare($con, "INSERT INTO user (name, age, username, password) VALUES (?, ?, ?, ?)"); 
mysqli_stmt_bind_param($statement, "siss", $name, $age, $username, $password); 
mysqli_stmt_execute($statement); 

$response = array(); 
$response["success"] = true; 

echo json_encode($response); 

任意のアイデア間違って何が起こっていますか?

+0

サーバー上のファイルに対して、そのファイルの内容を確認する方が良いです(デバッグできる場合は、ブレークポイント付きのデバッガを使用してください) –

答えて

1

使用

print_r(json_encode($response)); 

あなたは、JSON文字列をエコーすることはできません。

+0

何かをエコーすることは可能です。 print_r()は配列をレンダリングするだけです(これはPHPの問題です)。エコーはコンテンツの[パック]をクライアントに返します。 –

+0

まさに、私は、ユーザーがそのjson文字列全体ではなくエコーを使って結果を得るために、その[pack]というデータだけを呼び出さなければならないと言っていました。私が間違っているなら、私を修正してください。 彼は以下を使うことができます: 'echo $ response ['success'];' –

+1

'json_encode()'を実行すると文字列を作ります。その文字列はJSONパーサーにのみ意味があり、そうでなければ "Hello World"は文字列[文字列]です。 ユーザが 'json_encode()'をしたくない場合はtrueとなります。 –

1

応答をエコーする前に、あなたはJSONヘッダーを設定する必要があります。

header("Content-type: application/json; charset=utf-8"); 

これは、コンテンツのJSON形式を期待するHTTPクライアントに指示します。

+0

私はvolleyライブラリを使用しています。ボレーのために働いていないようだ –

関連する問題