Bonjour!
Je me met à l'ajax, c'est pa mal du tout!
J'en suis à mes débuts.
En ce moment à récupérer des valeurs de input pour les passer à une page php par l'intermédiaire d'un fichier javascript.
Le problème c'est que la page php ne recoit pas le contenue de mes variable!
Voici mon code html (plutot simple!)
Au niveau de mon javascript voici les fonctions utiles :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <form method='POST' action='chat.php' name='formulaireenvoi'> <input name='namemsg' id='idmsg' type='text'> <input name='namepseudo' id='idpseudo' type='hidden' value='$pseudoEnCour'> <input type='button' value='envoyer' onclick='javascript:envoyermessage(\"./envoyermessagechat.php\",\"idmsg\");'> </form>
note : quand je fait
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 function donnees_formatees() { var formulaire=document.forms['formulaireenvoi']; //Valeur de mon formulaire de type texte : var namemsg=formulaire.namemsg.value; var namepseudo=formulaire.namepseudo.value; //Mise en place des données au format post : donneesformatees='messagephp='+escape(namemsg)+'&pseudophp='+escape(namepseudo); alert(donneesformatees); return donneesformatees; } function envoyermessage(url,cadre) { //Création de l'objet xhr----------------------------------------------------- var xhr= null; if(window.XMLHttpRequest) // Firefox { xhr= new XMLHttpRequest(); } else if(window.ActiveXObject) // Internet Explorer { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } else { // XMLHttpRequest non supporté par le navigateur alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); return; } //---------------------------------------------------------------------------- //Ouvre la connexion au serveur en précisant le type de données : xhr.open('POST',url,true); //On associe à une varible un contenue, ici pour le contenu de la page : xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); // On regarde les changement d'état de l'objet xhr xhr.onreadystatechange = function attente(){ // l'état est à 4, requête reçu ! if(xhr.readyState == 4) { // ecriture de la réponse document.getElementById(cadre).innerHTML = xhr.responseText; //alert(xhr.responseText); } } // Envoi la requete xhr au serveur : xhr.send(donnees_formatees()); //remise à 0 de l'état du formulaire document.getElementById(cadre).value=''; document.getElementById(cadre).focus(); return; }
alert(donneesformatees) j'obtient bien le nom des variables et les valeurs théoriques qu'elles doivent avoir.
par contre pour alert(xhr.responseText); j'ai le message : undefined variable messagephp ... undefined variable pseudophp...
Le code php :
Auriez vous une idée?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 $message=mysql_real_escape_string($messagephp); $dh=date('Y-m-d H:i:s'); $pseudo=mysql_real_escape_string($pseudophp); $sql_insert_msg="INSERT INTO message_chat (dh_msgchat,contenu_msgchat,pseudo_emetteur) VALUES ('$dh','$message','$pseudo')"; $rep_insert_msg=mysql_query($sql_insert_msg) or die('Problème sql 02, chat actuellement indisponible');
Merci!
Partager