IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

Code ajax d'authentification ne fonctionne pas correctement


Sujet :

AJAX

  1. #1
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2009
    Messages : 74
    Points : 39
    Points
    39
    Par défaut Code ajax d'authentification ne fonctionne pas correctement
    Bonjour a tous,
    je viens d'écrire un code ajax pour que je puisse authentifier en utilisant un formulaire d'authentification avec champ login et champ mot de passe afin d'envoyer ces deux paramètre au serveur web pour les vérifier avec base de donnée mysql si l'authentifcation est réussite j'ai une redirection vers une page entete.php et si les coordonnées sont invalides j'affiche une alerte erreur :
    c'est le code html:
    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
    <script type="text/javascript" src="jquery.js"></script>
    <script>
     
    $(document).ready(function(){
     
    $('#login').on('submit',function(event) {
    var val=document.getElementById('emailm');
    var vall=document.getElementById('passw');
    $.ajax({
    url:'verifauth.php',          //target file
     
    data:"{email:'"+val+"',pass:'"+vall+"'}",
       //translate data structure and object
    type:'POST',
     
     
    /*contentType: "application/json; charset=utf-8",
       dataType: "json",*/
    success:function(data){
    if(data=="success"){
    	document.location="entete.php";
    }else{
    	alert('erreur');
    }
    //console.log(data);
    //$("#success").show();       // Show Success Message==
    },
    error:function(data){
    $("#erreur").css({'display':'block','visibility':'visible'});
    //$("#error").show().fadeOut(5000);   //===Show Error Message====
    }
    });
    event.preventDefault();         //To Avoid Page Refresh and Fire the Event "Click"
    });
    });
    </script>
    </head>
     
    <body>
    <div id="global">
     
    <div id="gauche">
    <!--onsubmit="return verifierr();"-->
    <form   id="login"  > 
    <p id="entete">Déja Client</p>
     
    <div id="erreur">
     
    <p>Cette adresse email n'est pa reconnue.<br/>Si vous n'êtes pas encore inscrit,merci d'utiliser le formulaire d'inscription ci-contre.</p>
    </div>
    <div>
    <p class="lab"><span style="padding-right:50px;"><label>Adresse e-mail:</label></span><span><input type="text" name="email" id="emailm" size="40px"/></span></p>
    <p class="lab"><span style="padding-right:60px;"><label>Mot de passe:</label></span><span><input type="text" name="pass" id="passw" size="40"/></span></p>
    <span style="padding-left:300px;"><a href="#" >Mot de passe oublié?</a></span><br/><br/>
     
     
    <input type="submit" name="conn" value="Se connecter" style="margin-left:150px;"/>
    </div>
    </form>
    la page verifauth.php contient le code suivant:
    Code PHP : 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
    <?php
     
    SESSION_START();
    ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Document sans titre</title>
     
     
    </head>
     
    <body>
    <?php
    /*header('Content-Type: application/json; charset=utf-8');
    /*echo 'Thank you '. $_POST['firstname'] . ' ' . $_POST['lastname'] . ', says the PHP file';*/
     
    if(isset($_POST)){
    	$email=urldecode($_POST['email']);
    	$password=urldecode($_POST['pass']);
    	print_r ($email);
    	print_r ($password);
    $conn=mysqli_connect('localhost','root','admin','test');
    $req=mysqli_query($conn,'select * from visit where email="'.$email.'" and motpasse="'.$password.'"');
    if(mysqli_num_rows($req)==0){
    	/*header('location:authentifi.php');
    	$_SESSION['erreur']=true;*/
    $reponse= "faild";
     
     
    }else{
     
    $row=mysqli_fetch_assoc($req);
    $_SESSION['email']=$row['email'];
    $_SESSION['nom']=$row['nom'];
    $_SESSION['prenom']=$row['prenom'];
    //$_SESSION['adresse']=$row['adresse'];
     
    	/*header('location:entete.php');
    	//echo $_SESSION['nom'].' '.$_SESSION['prenom'];*/
    $reponse= "success";
     
     
     
     
    	mysqli_close($conn);
     
     
     
    }
    }else{
     
    $reponse=  "Tous les champs ne sont pas parvenus";
    }
     
    echo(json_encode($reponse));
     
    ?>
    mais lors de l'exécution et dans tout les cas si je mets des coordonnées exacte ou erroné il m'affiche toujours erreur c'est a d il exécute toujours la partie else de success:function(data) et si j'enleve le commentaire sur /*contentType: "application/json; charset=utf-8",
    dataType: "json",*/ il execute toujours la partie error:function(data) meme si j'introduits les coordonnéees valides
    j'ai passée des jours sans trouvé la solution est ce que vous pouvez me dire quel est l'astuce vue que je suis débutante avec AJAX

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 564
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 564
    Points : 21 629
    Points
    21 629
    Par défaut
    Hello,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    data:"{email:'"+val+"',pass:'"+vall+"'}",
    T'es vraiment sûre que data est censée être une string entre deux guillemets ? Tu as des exemples de ça ?

    Citation Envoyé par emna1987 Voir le message
    et si j'enleve le commentaire sur /*contentType: "application/json; charset=utf-8",
    dataType: "json",*/ il execute toujours la partie error:function(data) meme si j'introduits les coordonnéees valides
    En même temps des documents comme

    ou

    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Tous les champs ne sont pas parvenus
    Tout ça ce n'est pas du JSON... Forcément ça marche pas des masses quand on cherche à lire des réponses en JSON.

  3. #3
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2009
    Messages : 74
    Points : 39
    Points
    39
    Par défaut
    moi je cherche a utiliser le format json mais j'arrive pas vue que dans le code seveur la page php j'utilise l'instruction json-encode donc le type de retour est de json mais je suis perdu avec cette notion c por cela que je n'arrive pas à faire tourner le programme..!!!

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 564
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 564
    Points : 21 629
    Points
    21 629
    Par défaut
    Il serait plus simple de refaire la même chose que ce que font déjà les tutoriels avec lesquels tu as déjà appris.

    Réponds à ma question s'il te plaît : tu as déjà vu un data comme ça ? Et tu as aussi vu comment s'en servir ensuite en PHP ?

Discussions similaires

  1. [XL-2007] Mon code ne fonctionne pas correctement
    Par capi81 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 16/07/2014, 11h40
  2. Aide pour un code qui ne fonctionne pas correctement
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 05/03/2013, 09h23
  3. le code ne fonctionne pas correct
    Par WALAA dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 24/04/2010, 14h26
  4. [MySQL] Mon code ne fonctionne pas correctement
    Par bebas dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 24/02/2007, 13h27
  5. Réponses: 13
    Dernier message: 31/08/2005, 14h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo