登録しようとするとこのエラーが発生します。その非常に単純な、私が登録ボタンをクリックすると、入力されたすべてのフィールドは、オンラインデータベースに格納されます。 私は同じJSONコードを使用してログインしましたが、うまくいきましたが、ここで何が問題なのか分かりません。私は多分私は私のPHPでエコーを削除する必要があることを読むが、私は本当か偽かどうかを伝えることができなくなるので。Androidスタジオ、JSONObject
助けが必要ですか?これは、コンソールでポップアップし続けるものです。
org.json.JSONException: Value <br><table of type java.lang.String cannot be converted to JSONObject
これは私のコードです。
bRegister.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String name = etName.getText().toString();
final String surname = etSurname.getText().toString();
final String username = etUsername.getText().toString();
final String password = etPassword.getText().toString();
final String email = etEmail.getText().toString();
final int phone = Integer.parseInt(etPhone.getText().toString());
final int age = Integer.parseInt(etAge.getText().toString());
Response.Listener<String> responseListener = new Response.Listener<String>() {
@Override
public void onResponse(String response) {
そのこれは私が私のPHPコードに持っているもので、ここで
try {
*****JSONObject jsonResponse = new JSONObject(response);
boolean success = jsonResponse.getBoolean("success");*****
if(success){
Intent intent = new Intent(getActivity(), BlankFragment1.class);
BlankFragment2.this.startActivity(intent);
}
else {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); //create an error message
builder.setMessage("Register Failed")
.setNegativeButton("Retry",null) //click retry to retry registration
.create()
.show();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
};
RegisterRequest registerRequest = new RegisterRequest(name, surname,username,password,email,phone,age,responseListener);
RequestQueue queue = Volley.newRequestQueue(getActivity());
queue.add(registerRequest);
}
});
return view;
停止します。
<?php
$con = mysqli_connect("mysql4.000webhost.com", "a3826656_user", "", "a3826656_data");
$name = $_POST["name"];
$surname = $_POST["surname"];
$username = $_POST["username"];
$password = $_POST["password"];
$email = $_POST["email"];
$phone = $_POST["phone"];
$age = $_POST["age"];
$statement = mysqli_prepare($con, "INSERT INTO user (name, surname, username, password, email, phone, age) VALUES (?, ?, ?, ?, ?, ?, ?)");
mysqli_stmt_bind_param($statement, "siss", $name, $surname, $username, $password, $email, $phone , $age);
mysqli_stmt_execute($statement);
$response = array();
$response["success"] = true;
echo json_encode($response);
?>
です。コンソールにエラーがあります。どうすればレスポンス配列が削除されますか? –
試しの直前にLog.d( "Activity Name"、 "Response is:" + response)のような応答をログアウトします。ログのスクリーンショットを送ってください –
http://postimg.org/image/b4kgpdug1/ –