Jump to content

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


Mister S

Recommended Posts

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.

Merci d'avoir prit le temps de lire mon post !

Edited by Mister S
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...