Se connecter / S'enregistrer
Votre question

Récuperer une variable php avec JS

Tags :
  • téléphone
  • Programmation
Dernière réponse : dans Programmation
1 Décembre 2010 11:34:40

Bonjour,

J'ai un formulaire que j'envois les données saisies vers un fichier php pour être enregistré dans la base de dnnées.
j'utilise ce code
  1. submitHandler: function(form) {
  2. $.ajax( { type: "POST",
  3. url: "cmpts_add_act.php",
  4. data:"Nom="+$("#Nom" ).val()+"&Prenom="+$("#Prenom" ).val()+"&telephone="+$("#telephone" ).val()+"&login="+$("#login" ).val()+"&mdp_Cl="+$("#mdp_Cl" ).val(),
  5. success: function() {
  6.  
  7. }
  8. });
  9. }


J'ai crée une variable dans le fichier php qui m'indique si l'enregistrement est effectué ou non.
Le problème ce que je n'arrive pas à récuperer cette valeur pour afficher une alerte en JS.
je me demande si c'est possible.
merci d'avance

Autres pages sur : recuperer variable php

a c 145 L Programmation
1 Décembre 2010 13:18:14

il faut que cmpts_add_act.php te retourne un texte simple (ok si réussi, ko si raté) et que tu traites ça dans la fonction appelée par success, par exemple:
  1. success: function(msg){
  2. alert( "Statut: " + msg );


m
0
l
1 Décembre 2010 14:50:51

merci
m
0
l
Contenus similaires
1 Décembre 2010 15:07:42

j'essaye ça mais il m'affiche toujours la 2eme alerte:

  1. success: function(msg) {
  2. if(msg=="1")
  3. {
  4. alert("Vous êtes inscrits");
  5. }
  6. else
  7. {alert("Le champ existe!");}
  8. }


voici le code de la page php:

  1. if($erreur==0)
  2. {
  3. $retour= 1;
  4. echo "1";
  5. }
  6. else
  7. {
  8. $retour= 0;
  9. echo "0";
  10. }
m
0
l
a c 145 L Programmation
1 Décembre 2010 15:11:54

Tu devrais faire un alert(msg) pour savoir exactement ce que tu obtiens.
m
0
l
1 Décembre 2010 15:31:44

J'ai essayé ça et j'ai obtenu avec la variable retournée (0 ou 1) un message qui m'indique que j'ai ajouté une entrée dans le répertoire LDAP (j'ajoute les données dans une BDD et dans un répertoire LDAP) malgré que j'ai pas fait d'echo à part celle du 0 ou 1.
voici l'alerte:

adding new entry "......"
0
comment je peux extraire seulement le 0 ou bien le 1
m
0
l
a c 145 L Programmation
1 Décembre 2010 16:02:54

Il faudrait voir ton script PHP complet pour voir ça.
Mais jamais PHP n'affiche quelque chose qui ne lui est pas demandé (sauf les erreurs)

Sinon, tu peux utiliser msg.charAt(0) qui est le premier caractère de la chaine msg
m
0
l
1 Décembre 2010 17:54:51

voici le code en php:
  1. ?php
  2. $cnx=mysql_connect("localhost","admin","admin")or die('Impossible de connecter');
  3. mysql_select_db("FAX",$cnx) or die('Impossible de sélectioner la bdd');
  4. session_start();
  5.  
  6. if(isset($_POST['submit'])) {
  7. exit;
  8. }
  9. else
  10. {
  11. $date = date("d/m/Y H:i:s");
  12. $crypted = md5($_POST["mdp_Cl"]);
  13. $champ1 = mysql_real_escape_string(htmlspecialchars(stripcslashes($_POST["Nom"])));
  14. $champ2 = mysql_real_escape_string(htmlspecialchars(stripcslashes($_POST["Prenom"])));
  15. $champ3 = mysql_real_escape_string(htmlspecialchars(stripcslashes($_POST["telephone"])));
  16. $champ4 = mysql_real_escape_string(htmlspecialchars(stripcslashes($_POST["login"])));
  17. $champ5 = mysql_real_escape_string(htmlspecialchars(stripcslashes($crypted)));
  18. $mdpLdap="faxweb";
  19.  
  20. passthru("./addUser.sh $champ1 $champ2 $champ3 $champ4 $champ5 $mdpLdap",$erreur);
  21. if($erreur==0)
  22. {
  23. $resultat=mysql_query("INSERT INTO client(C_Nom, C_Prenom, C_Telephone, C_login, C_DateAjout, C_mdp, C_errLdap) VALUES('".$champ1."', '".$champ2."', '".$champ3."', '".$champ4."', '".$date."', '".$champ5."', '".$erreur."')",$cnx);
  24. echo "1";
  25. }
  26. else
  27. {
  28.  
  29. echo "0";
  30. }
  31. mysql_close();
  32.  
  33.  
  34.  
  35. }
  36. ?>
m
0
l
a c 232 L Programmation
1 Décembre 2010 19:07:29

C'est certainement ta méthode passthru qui fait un echo du retour de la fonction bash.
m
0
l
a c 145 L Programmation
1 Décembre 2010 22:33:30

Je confirme:
Citation :
passthru — Exécute un programme externe et affiche le résultat brut
m
0
l
a c 232 L Programmation
1 Décembre 2010 23:12:11

@crazycat: Je ne connaissais pas cette méthode tiens, je pensais que c'était une méthode perso :) 

@sab ri: Et comme je te disais dans un autre topic (il me semble que c'est à toi), il y a des fonctions LDAP directement dans PHP, alors tu ne devrais pas avoir besoin de passer par un script bash
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS