Problème de récupération d'informations database

  • Réponses :2
Alpha Beta
  • Posts de Forum 1

16 oct. 2015 à 15:38:57 via site

Bonjour tout le monde !
Je viens vous demander un peu d'aide car j'ai un petit soucis.
 
L'énoncé est assez simple, j'ai une application android ou s'enregistre des utilisateurs. Les informations des utilisateurs sont ensuite envoyés sur un fichier php pour que celui-ci me créé l'utilisateur dans une base de données en MySQL.
 
Une fois l'utilisateur crée dans la database, l'utilisateur peut se connecter. Lorsqu'il essaye de se connecter, un autre fichier php hébergé sur mon serveur va vérifier que les données fournises existe bien dans la database afin d'autoriser, ou non, la connexion. Le problème vient malheureusement de là, dans tous les cas, la connexion est refusé alors que les données de l'utilisateurs ont bel et bien été créé dans la database.
 
Afin de vérifier les identifiants de l'utilisateur j'ai utilisé les JSONObject, concept dont je ne suis pas super à l'aise, je pense donc que le problème vient peut-être de là mais j'ai du mal l'identifier.

 protected User doInBackground(Void... params) {
        ArrayList<NameValuePair> dataToSend = new ArrayList<>();
        dataToSend.add(new BasicNameValuePair("username", user.username));
        dataToSend.add(new BasicNameValuePair("password", user.password));

        HttpParams httpRequestParams = new BasicHttpParams();
        HttpConnectionParams.setConnectionTimeout(httpRequestParams, CONNECTION_TIMEOUT);
        HttpConnectionParams.setSoTimeout(httpRequestParams, CONNECTION_TIMEOUT);

        HttpClient client = new DefaultHttpClient(httpRequestParams);
        HttpPost post = new HttpPost(SERVER_ADDRESS + "LoginRegister/fetchUserData.php");


        User returnedUser = null;

        try {
            post.setEntity(new UrlEncodedFormEntity(dataToSend));
            HttpResponse httpResponse = client.execute(post);

            HttpEntity entity = httpResponse.getEntity();
            String result = EntityUtils.toString(entity);
            JSONObject jObject = new JSONObject(result);

            if(jObject.length() != 0){
                user = null;
            } else {
                String name = jObject.getString("name");
                int age = jObject.getInt("age");

                returnedUser = new User(name, age, user.username, user.password);
            }

        } catch (Exception e){
            e.printStackTrace();
        }

        return returnedUser;
    }

Voyez-vous quelque chose pouvant être la source de mon problème ?
Je me permets aussi, du coup, de vous partager mon fetchUserData.php, sait-on jamais.

<?php
$con=mysqli_connect("localhost","root","XXXX","XXXX");

$username = $_POST["username"];
$password = $_POST["password"];

$statement = mysqli_prepare($con, "SELECT * FROM user WHERE username = ? AND password =?");
mysqli_stmt_bind_param($statement, "ss", $username, $password);
mysqli_stmt_execute($statement);

mysqli_stmt_store_result($statement);
mysqli_stmt_bind_result($statement, $user_id, $name, $age, $username, $password);

$user = array();

while(mysqli_stmt_fetch($statement)){
    $user[name] = $name;
    $user[age] = $age;
    $user[username] = $username;
    $user[password] = $password;
}

echo json_encode($user);

mysqli_stmt_close($statement);

mysqli_close($con);

?>

Mon serveur et ma base de données sont tous les deux hébergé grâce à Wamp et administré via phpmyadmin. Mon application quand à elle tourne sous API21.
[font='Source Sans Pro', sans-serif]Merci d'avoir prit le temps de lire mon post ![/font]

Répondre
honeybee
  • Posts de Forum 2

25 févr. 2016 à 16:15:24 via site

Bonjour,

As tu essayés de tester ta requête manuellement avec un outil tel que l'addon HTTPRequester pour firefox ou l'application Paw sur mac?

Répondre
Fred Renoir
  • Posts de Forum 30

25 mai 2016 à 02:47:59 via site

Bonjour,
Est-ce que quelqu’un peut proposer d’autres issues. Je suis preneur pour toutes suggestions. Merci pour votre aide.

Répondre