2016-05-01 4 views
0

登録しようとするとこのエラーが発生します。その非常に単純な、私が登録ボタンをクリックすると、入力されたすべてのフィールドは、オンラインデータベースに格納されます。 私は同じ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); 
?> 

答えて

0

現在地エラー

JSONObject jsonResponse =新しいJSONObject(応答)を取得しています。 ブール値成功= jsonResponse.getBoolean( "成功");

文字列応答をjsonに変換できないためです。私は心配していませんが、あなたが配列を送っているからだと思います。あなたのコンソールにレスポンスをログに記録してください。

+0

です。コンソールにエラーがあります。どうすればレスポンス配列が削除されますか? –

+0

試しの直前にLog.d( "Activity Name"、 "Response is:" + response)のような応答をログアウトします。ログのスクリーンショットを送ってください –

+0

http://postimg.org/image/b4kgpdug1/ –

0

私は応答形式が問題です。それが有効なJSONならば、パーシングチェックのコンテンツタイプはjson

関連する問題