2016-05-10 14 views
-1

ich eine Android-Registrierung Aktivität entwickle Ich verwende: Android Studio php postgreSQLWert <br vom Typ java.lang.String kann nicht in JSONObject umgewandelt werden - android php

das ist das Stück Code, der in der Datenbank

public void insert_in_Database (final String vorname, final String last_name, final String username, final String Passwort, final String E-Mail, Telefon final String) {

einfügen soll,

und das ist registration.php

<?php 
    require_once(__DIR__.'/../dbConnect.php'); 

    $success = array('status' => "success"); 
    $failed_username = array('status' => "This username is already taken"); 
    $failed_email = array('status' => "This email is already registered"); 
    $failed = array('status' => "failed"); 

    if($_SERVER['REQUEST_METHOD']=='POST'){ 

     $first_name = $_POST['first_name']; 
     $last_name = $_POST['last_name']; 
     $username = $_POST['username']; 
     $password = $_POST['password']; 
     $email = $_POST['email']; 
     $phone = $_POST['phone']; 

     $query_username = "SELECT * FROM users WHERE username='$username'"; 
     $result_username = pg_query($con, $query_username); 
     $rows_username = pg_num_rows($result_username);  
     if ($rows_username == 0) 
     { 
       $query_email = "SELECT * FROM users WHERE email='$email'"; 
       $result_email = pg_query($con, $query_email); 
       $rows_email = pg_num_rows($result_email); 
       if($rows_email == 0){ 

         $sql = "INSERT INTO users (id,first_name,last_name, username, password, email, phone) 
         VALUES(DEFAULT , '$first_name', '$last_name', '$username', '$password', '$email', '$phone')"; 
         if(pg_query($con,$sql)) 
         { 
         echo json_encode($success); 
         } 
         else{ 
         echo json_encode($failed); 
         } 

       }else{ 
        echo json_encode($failed_email); 
       }   
     }else 
     { 
      echo json_encode($failed_username); 
     }  
     pg_close($con); 
    }else{ 
     echo json_encode($failed); 
    } 
?> 

ich diesen Fehler

org.json.JSONException: Value <br of type java.lang.String cannot be converted to JSONObject 

Bezug auf die ersten und die letzten Zeilen im folgenden Block

StringRequest strReq = new StringRequest(Request.Method.POST, Server.REGISTERATION_URL, new Response.Listener<String>() { 
        @Override 
        public void onResponse(String response) { 
         //Showing toast message of the response 

         try { 
          JSONObject object = new JSONObject(response); 

kann jemand helfen ?

+1

Druck die Antwort auf die Konsole, um die NOT NULL Einschränkungen einiger Spalten entfernen, bevor Sie versuchen und json es zu analysieren. Ich denke, es gibt einen Fehler in html –

+0

Ich habe es gerade getestet, es funktioniert einwandfrei und gab die vermeintliche JSON-Codierung zurück:/ –

+0

können Sie die Zeichenfolge hier bereitstellen, so kann ich einen Blick –

Antwort

0

Ich habe gerade den Fehler behoben und es funktioniert jetzt

Das Problem aus der Datenbank

war Wenn ein Benutzer seine Informationen einfügt, r gibt einige Felder, die mit NULL eingefügt r .. nicht wichtigen Informationen bei Registrierungsphase nach den App Anforderungen, aber er kann sie später ein, wenn sein Profil bearbeitet

So hatte ich die hTML-Fehler zu bekommen, druckte ich es Toast mit testen und sehen, was

die pers geschieht auf verantwortlich erstellt für die Datenbank die Spalten NOT NULL

So war die Lösung sein:

Verwandte Themen