Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2906 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Mise à jour base données par ajax avec variables POST

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Mise à jour base données par ajax avec variables POST

n°1683898
nagard
Posté le 08-02-2008 à 11:33:05  profilanswer
 

Bonjour,
 
Je n'arrive pas à faire une mise à jour dans ma base de données en ajax en passant des variables par POST.
J'ai un formulaire avec des champs texte. Quand je clique sur un bouton VALIDER je fais appel à une fonction javascript qui me récupère la valeur de tous les champs, et ensuite, par Ajax, je veux mettre à jour ma base de données avec ces champs que j'ai récupéré.
J'ai essayé par la méthode GET Ajax, cela marche mais inconvénient les retours ligne dans ma zone de texte ne sont pas pris en compte. Alors j'ai pensé plutôt le faire par la méthode POST mais toujours en Ajax si c'est possible.
Voici ma fonction Javascript :
 
function ActionValiderHaut()
  {
  wFinessG=document.getElementById('FinessG').value;
  wAcBonUsagSoin=document.getElementById('AcBonUsagSoin').value;
  wAcBonUsagMed=document.getElementById('AcBonUsagMed').value;
  wCPOM=document.getElementById('CPOM').value;
  wLienHAS=document.getElementById('LienHAS').value;
  wDateCertif=document.getElementById('DateCertif').value;
  wNotes=document.getElementById('Notes').value;
 
  var xhr=null;
 xhr=new ActiveXObject("Microsoft.XMLHTTP" );
 chaine="http://"+window.location.host+"/AppLocales/Grece/Cooperation/modificationCoop.php";
  xhr.onreadystatechange=function() { if (xhr.readyState==4) { alert("Mise à jour effectuée" ); } }
   
  xhr.open("POST",chaine,true);
  var donnees="ModCoopBas=nok"+"FinessG="+wFinessG+"AcBonUsagSoin="+wAcBonUsagSoin+"AcBonUsagMed="+wAcBonUsagMed+"CPOM="+wCPOM+"LienHAS="+wLienHAS+"DateCertif="+wDateCertif+"Notes="+wNotes;
 
 xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
 xhr.send(donnees);
  }

 
Le fichier "ModificationCoop.php" que j'appelle doit faire la mise à jour.
 
Mon soucis est que d'abord, je ne sais pas si ma fonction ci-dessus est correcte. Deuxièmement, je ne sais pas comment récupérer dans le fichier "ModificationCoop.php" les champs passés dans la fonction javascript pour pouvoir faire la mise à jour.
 
Merci pour votre aide !
 
N.G

mood
Publicité
Posté le 08-02-2008 à 11:33:05  profilanswer
 

n°1683902
alpachinoi​s
Posté le 08-02-2008 à 11:39:11  profilanswer
 

nagard a écrit :

Bonjour,
 
Je n'arrive pas à faire une mise à jour dans ma base de données en ajax en passant des variables par POST.
J'ai un formulaire avec des champs texte. Quand je clique sur un bouton VALIDER je fais appel à une fonction javascript qui me récupère la valeur de tous les champs, et ensuite, par Ajax, je veux mettre à jour ma base de données avec ces champs que j'ai récupéré.
J'ai essayé par la méthode GET Ajax, cela marche mais inconvénient les retours ligne dans ma zone de texte ne sont pas pris en compte. Alors j'ai pensé plutôt le faire par la méthode POST mais toujours en Ajax si c'est possible.
Voici ma fonction Javascript :
 
function ActionValiderHaut()
  {
  wFinessG=document.getElementById('FinessG').value;
  wAcBonUsagSoin=document.getElementById('AcBonUsagSoin').value;
  wAcBonUsagMed=document.getElementById('AcBonUsagMed').value;
  wCPOM=document.getElementById('CPOM').value;
  wLienHAS=document.getElementById('LienHAS').value;
  wDateCertif=document.getElementById('DateCertif').value;
  wNotes=document.getElementById('Notes').value;
 
  var xhr=null;
 xhr=new ActiveXObject("Microsoft.XMLHTTP" );
 chaine="http://"+window.location.host+"/AppLocales/Grece/Cooperation/modificationCoop.php";
  xhr.onreadystatechange=function() { if (xhr.readyState==4) { alert("Mise à jour effectuée" ); } }
   
  xhr.open("POST",chaine,true);
  var donnees="ModCoopBas=nok"+"FinessG="+wFinessG+"AcBonUsagSoin="+wAcBonUsagSoin+"AcBonUsagMed="+wAcBonUsagMed+"CPOM="+wCPOM+"LienHAS="+wLienHAS+"DateCertif="+wDateCertif+"Notes="+wNotes;
 
 xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
 xhr.send(donnees);
  }

 
Le fichier "ModificationCoop.php" que j'appelle doit faire la mise à jour.
 
Mon soucis est que d'abord, je ne sais pas si ma fonction ci-dessus est correcte. Deuxièmement, je ne sais pas comment récupérer dans le fichier "ModificationCoop.php" les champs passés dans la fonction javascript pour pouvoir faire la mise à jour.
 
Merci pour votre aide !
 
N.G


 
Pour la méthode POST il faut rajouter un & quand tu envoies plusieurs variables comme par exemple
 

Code :
  1. donnees="var1="+var1+"&var2="+var2+"&var3"=+var3;
  2. xhr.send(donnees);


Message édité par alpachinois le 08-02-2008 à 11:40:01
n°1683937
nagard
Posté le 08-02-2008 à 12:51:30  profilanswer
 

Merci beaucoup Alpachinois, ça fonctionne !

n°1683943
nagard
Posté le 08-02-2008 à 13:04:05  profilanswer
 

Puis-je abuser encore un peu? Comme je disais ci-dessus ça fonctionne, mais les caractères spéciaux styles lettre avec accent, une fois mise à jour dans la base de données, s'affichent avec des signes cabalistiques à la fois à l'écran et dans la base de données !!!

n°1683947
alpachinoi​s
Posté le 08-02-2008 à 13:18:32  profilanswer
 

nagard a écrit :

Puis-je abuser encore un peu? Comme je disais ci-dessus ça fonctionne, mais les caractères spéciaux styles lettre avec accent, une fois mise à jour dans la base de données, s'affichent avec des signes cabalistiques à la fois à l'écran et dans la base de données !!!


 

Code :
  1. xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');


 
Remplace UTF-8 par charset=iso-8859-15 pour voir.

n°1683949
nagard
Posté le 08-02-2008 à 13:22:08  profilanswer
 

Désolé, c'est toujours pareil !

n°1684005
alpachinoi​s
Posté le 08-02-2008 à 15:15:02  profilanswer
 

Essaies de mettre ça dans ton fichier php appelé aussi pour voir : header('Content-Type: text/html; charset=ISO-8859-15');


Message édité par alpachinois le 08-02-2008 à 15:16:06
n°1684702
nagard
Posté le 11-02-2008 à 08:40:34  profilanswer
 

J'ai déjà essayé et j'ai toujours des caractères bizarres à la place des accents

n°1684719
nagard
Posté le 11-02-2008 à 09:19:53  profilanswer
 

Bon j'ai trouvé une solution : il faut utiliser la fonction utf8_decode() sur le champ avant de faire la mise à jour dans la base de données.
Merci quand même


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Mise à jour base données par ajax avec variables POST

 

Sujets relatifs
Utilisation d'une bibliothèque de tri via AJAXQuestions sur swing, awt, ... Jscrollpane, voir 7 ème post
30 variables de session, beaucoup ou pas ?Comment créer un lien avec des éléments d'une base de données?
Mise a jour de JTable entre classeDisponibilité Pseudo en Ajax
Agregateur Gregarius (installer une mise à jour automatique) 
Plus de sujets relatifs à : Mise à jour base données par ajax avec variables POST


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR