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 :

[AJAX] Transmettre et récupérer des données entre un fichier javascript et php.


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut [AJAX] Transmettre et récupérer des données entre un fichier javascript et php.
    Bonjour

    Mon fichier php fonctionne, je les testé sans javascript, donc mon problème est de faire le lien entre javascript et php.

    ici on transmet les données du formulaire

    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
     
     
                  objetXHR2 = creationXHR();
     
                  var temps = new Date().getTime();
     
                 var parametres = "nom="+ codeContenu("nom") + "mdp="+ codeContenu("mdp") + "&anticache="+temps;
     
     
     
     
     	objetXHR2.open("GET","./ConnexAdmis.php?"+parametres, true); 
     	objetXHR2.onreadystatechange = afficherReponse;
     
    	document.getElementById("btcon").disabled= true;
     
     
    		objetXHR2.send(null);


    Ici on récupere la valeur de l'echo.

    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
     
    function afficherReponse() {
     
    	if (objetXHR2.readyState == 4){
     
     
    	  if (objetXHR2.status == 200) {
    	   var nouveauResultat = objetXHR2.responseText;
     
     
     
     
    	if(nouveauResultat!=0) {
     
    	  window.location="supadm.html";
     
     
     
    	}else{
     
     
     
    	document.getElementById('info').style.visibility="visible";
     
    	remplacerContenu('info', "Pas droits");
    	document.getElementById('info').style.color="red";
     
    	document.getElementById("btcon").disabled= true;
     
    							}
     
     
    	}else{
     
    	  var erreurServeur="Erreur serveur : "+objetXHR2.status+" – "+ objetXHR2.statusText;
    	    remplacerContenu("info", erreurServeur);
    	  document.getElementById('info').style.visibility="visible";
     
    	   document.getElementById("btcon").disabled= false;
     
    	   objetXHR2.abort();
    	   objetXHR2=null;
    	   }
     
     
    }
    Fichier fonction ajax

    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
     
    function creationXHR() {
       var resultat=null;
       try {
    	    resultat= new XMLHttpRequest();
         } 
         catch (Error) {
         try {
         resultat= new ActiveXObject("Msxml2.XMLHTTP");
         }
         catch (Error) {
             try {
             resultat= new ActiveXObject("Microsoft.XMLHTTP");
             }
             catch (Error) {
                resultat= null;
             }
         }
      }
    return resultat;
    }
     
    function remplacerContenu(id, texte) {
      var element = document.getElementById(id);
      if (element != null) {
        supprimerContenu(element);
        var nouveauContenu = document.createTextNode(texte);
        element.appendChild(nouveauContenu);
      }
    }
    function codeContenu(id) { 
    	var valeur=document.getElementById(id).value;
    	return encodeURIComponent(valeur);
    }
    function supprimerContenu(element) {
    if (element != null) {
        while(element.firstChild)
            element.removeChild(element.firstChild);
       }
    }
    Je pense que mon problème vient de là.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    		 objetXHR2 = creationXHR();
     		var temps = new Date().getTime();
     
    		var parametres = "nom="+ codeContenu("nom") + "mdp="+ codeContenu("mdp") + "&anticache="+temps;
     
    objetXHR2.open("GET","./ConnexAdmis.php?"+parametres, true); 
     		objetXHR2.onreadystatechange = afficherReponse;
    Là, je suis perdue.

    A +

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Tes paramètres doivent être séparés par des &...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var parametres = "nom="+ codeContenu("nom") + "&mdp="+ codeContenu("mdp") + "&anticache="+temps;
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut
    Rebonjour

    Merci, j'ai fais la modification, ca ne fonctionne toujour pas

    Ca retourne toujour 0.

    A +

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    On peut voir ton code php?

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut
    Le voici:

    Je les testé sans javascript, il fonctionne.

    Quand je rentre les bons user et mdp, il retourne 1.


    Quand c'est au hasard il retourn 0.

    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
     
    <?php
     
    header("Content-Type: text/plain ; charset=utf-8");
    header("Cache-Control: no-cache , private");
    header("Pragma: no-cache");
     
     
    if(isset($_REQUEST['nom'])) $nom=$_REQUEST['nom'];
     
     
     
    else $nom="inconnu";
     
     
    if(isset($_REQUEST['mdp'])) $mdps=$_REQUEST['mdp'];
     
    else $mdps="inconnu";
     
    require_once('connexionMysql.php');
     
    mysql_select_db($base);
     
     
    $requeteSQL="SELECT ke FROM log WHERE identifiant= '".$nom."' AND passw='".$mdps."'";
     
    $reponseSQL = mysql_query($requeteSQL);
     
    $enregistrement=mysql_fetch_array($reponseSQL);
     
     
     if(mysql_num_rows($reponseSQL)>0){
     
    $_SESSION['nom'] = $nom;
     
     $resultat=$enregistrement["ke"];
     
    }
     else{
     
     
     $resultat=0;
    }
     echo $resultat;
     
     
    ?>

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    C'est normale,
    if(mysql_num_rows($reponseSQL)>0){
    $_SESSION['nom'] = $nom;
    $resultat=$enregistrement["ke"];
    }
    else{
    $resultat=0;
    }
    echo $resultat;
    Tu as testé si les valeurs du nom et passw se correspondent avec l'nregistrement et retourne la valeur de "ke" sinon tu retourne 0

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer des données entre deux pattern
    Par Olivier Regnier dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 17/04/2017, 14h17
  2. récupérer des données entre formulaires
    Par ballantine's dans le forum Langage
    Réponses: 7
    Dernier message: 27/10/2009, 09h24
  3. récupérer des données d'un fichier javascript
    Par argon dans le forum Langage
    Réponses: 4
    Dernier message: 21/04/2009, 10h10
  4. récupérer des données dans un fichier
    Par pymouse dans le forum Langage
    Réponses: 7
    Dernier message: 19/06/2006, 17h43
  5. Réponses: 2
    Dernier message: 16/01/2006, 19h34

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