Salut a tous,

je suis entrain d'essayer de faire une page d'inscription depuis une activité android en se connectant a ma base de données mysql, j'ai cette erreur qui apparait : org.json.JSONException: Value <br of type java.lang.String cannot be converted to JSONObject

Dans un premier temps, est ce que quelqu'un pourrait me conseiller sur les différentes méthodes a utiliser pour debuger mon program quand j'utilise une bDD mysql avec des scripts php ? D'habitude j'utilise le log cat mais ici les erreurs sont tout de meme moins évidente vu qu'on peut tres bien avoir des erreurs venant du script ou autre ... :S

Voici le code de mon activité :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
 
public class Subscribe extends Activity {
 
    Button bSubscribe;
    EditText etPwdSub, etPwdConf, etLoginSub, etNameSub, etFnSub;
    String result = null;
    InputStream is = null;
    String donnees = "";
 
    protected void onCreate(Bundle savedInstanceState) {
 
        super.onCreate(savedInstanceState);
 
        setContentView(R.layout.subscribe);
 
        etLoginSub = (EditText) findViewById(R.id.etLoginSub);
        etPwdSub = (EditText) findViewById(R.id.etPwdSub);
        etPwdConf = (EditText) findViewById(R.id.etPwdConf);
        etNameSub = (EditText) findViewById(R.id.etNameSub);
        etFnSub = (EditText) findViewById(R.id.etFnSub);
 
        bSubscribe = (Button) findViewById(R.id.bSubscribe);        
        bSubscribe.setOnClickListener(new View.OnClickListener() {
 
            public void onClick(View v) {
 
                Pattern p = Pattern.compile(".+@.+\\.[a-z]+");
                Matcher m = p.matcher(etLoginSub.getEditableText());
 
                if (m.matches() == false) {
 
                    Toast.makeText(
                            getBaseContext(),
                            "Le champs email ne correspond pas au format d'une adresse mail",
                            Toast.LENGTH_SHORT).show();
                } else {
 
                    // autre méthode : etPwdSub.equals("")
                    if (etPwdSub.getEditableText() != null
                            && etPwdConf.getEditableText() != null
                            && etNameSub.getEditableText() != null
                            && etFnSub.getEditableText() != null) {
 
                        if (etPwdSub.getEditableText().toString().equals(etPwdConf.getEditableText().toString())) {
 
                            ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
 
                            nameValuePairs.add(new BasicNameValuePair("login", etLoginSub.getText().toString()));
                            nameValuePairs.add(new BasicNameValuePair("pwd", etPwdConf.getText().toString()));
                            nameValuePairs.add(new BasicNameValuePair("name", etNameSub.getText().toString()));
                            nameValuePairs.add(new BasicNameValuePair("firstname", etFnSub.getText().toString()));                          
 
                            try {
                                // commandes httpClient
                                HttpClient httpclient = new DefaultHttpClient();
 
 
                                HttpPost httppost = new HttpPost(
                                        "http://192.168.1.101/spotnshare/subscribe.php");
 
                                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
 
                                HttpResponse response = httpclient.execute(httppost);
 
                                HttpEntity entity = response.getEntity();
                                is = entity.getContent();
 
                            } catch (Exception e) {
                                Log.i("taghttppost", "" + e.toString());
                                Toast.makeText(getBaseContext(), e.toString(), Toast.LENGTH_LONG)
                                        .show();
                            }
 
                            try {
                                BufferedReader reader = new BufferedReader(new InputStreamReader(
                                        is, "UTF-8"));
 
                                StringBuilder sb = new StringBuilder();
 
                                String line = null;
 
                                while ((line = reader.readLine()) != null) {
                                    sb.append(line + "\n");
                                }
 
                                is.close();
 
                                result = sb.toString();
                            } catch (Exception e) {
                                Log.i("tagconvertstr", "" + e.toString());
                            }
 
                            try {
                                JSONObject jObj = new JSONObject(result);
 
                                    donnees = jObj.getString("message");
 
                                    Intent ourIntent = new Intent(Subscribe.this,
                                            SubscribeMess.class);
 
 
                                   // objet qui vas nous permettre de passe des variables ici la
                                    // variable passInfo
                                    Bundle objetbunble = new Bundle();          
                                    objetbunble.putString("message", donnees);
                                    ourIntent.putExtras(objetbunble);               // on passe notre objet dans l'intent
 
                                    // on appelle notre activité
                                    startActivity(ourIntent);                                   
 
                            } catch (JSONException e) {
                                Log.i("tagjsonexp", "" + e.toString());
                            } catch (ParseException e) {
                                Log.i("tagjsonpars", "" + e.toString());
                            }
 
 
                        } else {
                            Dialog d = new Dialog(Subscribe.this);
                            d.setTitle(etPwdSub.getEditableText() +" "+etPwdConf.getEditableText());
                            d.show();
                        }
 
                    } else {
                        Dialog d = new Dialog(Subscribe.this);
                        d.setTitle("Fill in all the fields !");
                        d.show();
                    }
 
                }
            }
        });
 
    }
 
    protected void onPause() {
        super.onPause();
        finish();
    }
}
et mon script :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
 
 
<?php
 
if( isset($_POST['login']) && isset($_POST['pwd']) && isset($_POST['name']) && isset($_POST['firstname'])) {
 
    include("connexion_bdd.php");
 
    if(connexionBDD() == 1){
 
        $login = $_POST['login'];
        $pwd = $_POST['pwd'];
        $name = $_POST['name'];
        $firstname = $_POST['firstname'];
 
        $sql = "SELECT colUserID
                FROM userTable 
                WHERE colUserLogin = '".$login."' ";
 
        $req = mysql_query($sql);
        $resultat=mysql_num_rows($req); 
 
        if($resultat==0){
            $temps = time();
            $clef = md5($login . $temps);
 
            $req = mysql_query("INSERT INTO userTable(colUserLogin, colUserPwd, colUserName, colUserFirstname, colUserKey, colUserDate)
                                        VALUES( '$login', '$pwd', '$name', '$firstname', '$clef', '$temps')");
 
            if($req){
                    $destinataire = $login;
                    $sujet ="Welcome on SnSR";
                    $from = "From: SpotnShareReminder@live.com \r\n";
                    $from .= "Content-Type: text/html; charset=us-ascii\r\n";
 
                    $message = ' Clic on the link below :<br/>
                    <a href="http://localhost/spotnshare/validation_mail.php?usrk='.$clef.' ">
                        Registration confirmation.
                    </a> ';
 
                    ini_set('SMTP','relay.skynet.be');
 
                    if(mail($destinataire,$sujet,$message,$from)){
                        $msg = 'Check your mailbox to activate your account !'; 
                    }           
                    else{
                        $msg = 'Problem sending you the activation mail !'; 
                        $req = mysql_query("DELETE FROM userTable WHERE colUserLogin = '".$pseudo."' ");
                    }
            }
            else{
                $msg = 'Problem inserting you in our database !';
            }
        }else{
                $msg = 'This email has already been used !';
        }
        mysql_free_result ($req);   
 
    }else{
        $msg = "Connexion problem with de DB"
        print(json_encode(array("message" => $msg)));       
    }
 
}else{
        $msg = "Couldn't treat your datas"
}
 
print(json_encode(array("message" => $msg)));
 
?>