Partage
  • Partager sur Facebook
  • Partager sur Twitter

Jquery et accès sécurisé en PHP

Sujet résolu
    28 juillet 2011 à 17:52:49

    Bonjour à tous,
    Suite à un exercice sur lequel je planche, ou plutôt que je bute j'aimerais obtenir un éclaircissement de votre part.

    Tout d'abord j'ai créer une page avec identification via MYSQL/PHP Ajax, qui donne accès une fois authentifier à des données chargé
    sur cette même page ( prenons en exemple un convertisseur ROM-> ARAB et inversement le tout en une seule page ).

    Je me suis lancé a une épuration de ce code voulant apprendre à utiliser la bibliothèque Jquery j'ai décider de le réecrire. malheureusement je me vois confronté a certaines difficultés que je vous expose :

    lors de l'identification de ma page elle reconnait les erreurs comme le mauvais mot de passe et le mauvais login, mais impossible de reconnaitre le bon login / mot de passe stocké dans une bdd crypté avec un léger md5

    je vous soumet une partie du code que je pense erroné en espérant que vous pouvez m'aider.




    $.ajax({ 
     type : 'POST',
    url : 'id.php',
     dataType :'json',
    
    data : {
    login : $('#login').val(),
    pass : $('#pass').val()													
    },
    success : function(data){
    
    $('#waiting').hide(500);
    $('#message').removeClass().addClass((data.error === true) ? 'error' : 'success')
    
    $("#container").$load('conversion.php')
    .text(data.msg).show(500);
    
    if (data.error === true)
    $('#message').show(500);
    error : function(XMLHttpRequest, textStatus, errorThrown) {
    
    				$('#waiting').hide(500);
    				$('#message').removeClass().addClass('error')
    					.text('Il y a une erreur.').show(500);
    				$('#aquaform').show(500);
    			}
    						
    			
    		});
    					
    				
    						 
      return false;
    



    n'étant pas sur qu'il s'agisse uniquement du code Jquery
    je soumet également la partie identification en PHP

    <?php
    $login = $_POST['login'];
    $psw = md5($_POST['pass']);
    
    $getUser_sql = 'SELECT * FROM users WHERE aqualog="'.mysql_real_escape_string($login). '" AND aquapass = "' .mysql_real_escape_string($psw). '"';
    $getUser = mysql_query($getUser_sql) 
    					or die(mysql_error());
    					
    $getUser_result = mysql_fetch_assoc($getUser);
    $getUser_RecordCount = mysql_num_rows($getUser);
    
    if($getUser_RecordCount < 1){ echo '0';} else { echo $getUser_result['aqualog'];}
     ?>
    
    • Partager sur Facebook
    • Partager sur Twitter
      28 juillet 2011 à 17:58:55

      Il te manque pas une accolade fermante ligne 8 ?
      • Partager sur Facebook
      • Partager sur Twitter
        28 juillet 2011 à 18:01:18

        Oui je l'ai oublié en copiant le code mais dans l'original il y est ( je corrige sur le forum histoire que ca revienne pas ) merci de me l'avoir signalé
        • Partager sur Facebook
        • Partager sur Twitter
          28 juillet 2011 à 18:08:52

          Tu as testé en affichant ta requete et en la passant manuellement dans mysql ?
          • Partager sur Facebook
          • Partager sur Twitter
            28 juillet 2011 à 18:22:13

            J'avais oublié de la tester mais la requête est correcte après vérification !
            • Partager sur Facebook
            • Partager sur Twitter
              28 juillet 2011 à 18:28:19

              Essaye avec ça pour voir:

              <?php
              $login = $_POST['login'];
              $psw = md5($_POST['pass']);
              
              $getUser_sql = 'SELECT * FROM users WHERE aqualog="'.mysql_real_escape_string($login). '" AND aquapass = "' .mysql_real_escape_string($psw). '"';
              $getUser = mysql_query($getUser_sql) 
              					or die(mysql_error());
              					
              $getUser_result = mysql_fetch_assoc($getUser);
              
              echo ($getUser_result) ? $getUser_result['aqualog'] : '0';
               ?>
              
              • Partager sur Facebook
              • Partager sur Twitter
                28 juillet 2011 à 18:47:30

                ça n'a malheureusement rien changé, j'ai viré la requête en jquery pour le faire passé directement via MYSQL et là sa fonctionne ca me renvoie "0"

                et quand je remet la requête elle ne fonctionne pas à part pour les erreurs.

                Petit HS ( la fonction pour charger une page externe c'est bien .$load() ? )
                • Partager sur Facebook
                • Partager sur Twitter
                  29 juillet 2011 à 10:36:08

                  Ca devrait pas te renvoyer 0 pour un user avec les bon identifiants si ?

                  ($.load)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    30 juillet 2011 à 14:45:29

                    Salut a vrai dire j'ai trouvé la solution, maintenant un autre problème se pose.

                    une fois que le formulaire est validé au lieu de m'afficher le résultat comme je le souhaite si le login/pass est incorrecte cela ne renvoie pas le message " il y a une erreur " dans une div souhaité
                    $('#message').text('Il y a une erreur.').show(500);
                    
                    mais plutôt ( apparemment ) celui de l'enregistrement du code via mysql qui est "0".

                    Si le login/pass sont correcte, ca me renvoie la valeur texte du code javascript ' tout roule '
                    $('#container').text(' tout roule').show(500);
                    
                    et non pas la valeur d'enregistrement via mysql.
                    Quel est ton/votre opinion dessus ?
                    • Partager sur Facebook
                    • Partager sur Twitter
                      1 août 2011 à 17:49:01

                      il te met le 0 dans #container et non dans #message non ?

                      Si c'est le cas, c'est surement parce que le teste data.error === true ne renvoie pas ce que tu veux.
                      Essaye de l'afficher pour voir exactement ce qu'il contient pour le tester correctement
                      • Partager sur Facebook
                      • Partager sur Twitter

                      Jquery et accès sécurisé en PHP

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown