Probléme avec ajax svp
Résolu
marwen109
Messages postés
63
Date d'inscription
Statut
Membre
Dernière intervention
-
Groarh Messages postés 682 Date d'inscription Statut Membre Dernière intervention -
Groarh Messages postés 682 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai créé un script de chat avec ajax et php(sans base de donnée , les messages sont stocké dans un fichier text avec php puis affiché)...
bref : mon script est la
*mettre votre message puis en clique sur change content "pas entré du clavier ca marche pas"
http://marwen.lockernerd.co.uk/
et le code :
et enfin un fichier chateur.txt initialement vide
mon probléme est que mon script poste des messages seulement localement sur mon pc,
je veux savoir pourquoi les message que j'ai posté ne sont pas transmis vers les autres internautes qui sont connecté a mon site web , et comment corrigé ca?
MERCI D'AVANCE :)
J'ai créé un script de chat avec ajax et php(sans base de donnée , les messages sont stocké dans un fichier text avec php puis affiché)...
bref : mon script est la
*mettre votre message puis en clique sur change content "pas entré du clavier ca marche pas"
http://marwen.lockernerd.co.uk/
et le code :
index.html //////////////////////////////////////////// <html> <head> <style> .button{background-color:black;border:2px orange;color:orange;height:25px;} .input{border:1px black solid;height:25px;} </style> <script type="text/javascript"> function declanche(msg) { if(window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari req=new XMLHttpRequest(); } else {// code for IE6, IE5 req=new ActiveXObject("Microsoft.XMLHTTP"); } req.onreadystatechange=function() { if (req.readyState == 4) { if (req.status == 200) { document.getElementById("myDiv1").innerHTML=""; document.getElementById("myDiv").innerHTML=document.getElementById("myDiv").innerHTML+req.responseText;} else { alert("erreur par marwen");} } else document.getElementById("myDiv1").innerHTML="<font color='red'size='5'>en attente....</font>"; } req.open("GET","fiche.php?msg="+msg,true); req.send(); } </script> </head> <body> <form name="f"> <input type="text"name="msg"> <button type="button" onclick="declanche(msg.value)"class="button">Change Content</button><br> <div id="myDiv"><h2></h2></div> <div id="myDiv1"><h2></h2></div> </form> </body> </html> ///////////////////////////////////// fiche.php <? //ouverture du fichier avec ajout a la fin $x=fopen("chateur.txt","a+"); //récupération du message passé a travert ajax $msg=$_GET['msg']; //faire un retour a la ligne pour pouvoir lire chaque ligne $msg="\n".$msg; fwrite($x,$msg); $ligne=file("chateur.txt"); //affichage le dernière ligne(message reçu) echo $ligne[count($ligne)-1]."</br>"; //et fermuture du fichier fclose($x); ?>
et enfin un fichier chateur.txt initialement vide
mon probléme est que mon script poste des messages seulement localement sur mon pc,
je veux savoir pourquoi les message que j'ai posté ne sont pas transmis vers les autres internautes qui sont connecté a mon site web , et comment corrigé ca?
MERCI D'AVANCE :)
A voir également:
- Yggtorrent erreur ajax
- Erreur ajax yggtorrent - Meilleures réponses
- Ygg erreur ajax - Meilleures réponses
- Yggtorrent - Accueil - Services en ligne
- YggTorrent : la nouvelle adresse qui fonctionne en 2023 - Accueil - Outils
- Erreur 0x80070643 - Accueil - Windows
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- J'aime par erreur facebook notification - Forum Facebook
3 réponses
Bonjour,
oulah y'a beaucoup de choses qui vont de travers. Bon. On va essayer de faire marcher ce que tu demandes d'abord, et après on verra pour les détails :)
Alors on a entre les mains :
- une page HTML qui envoie des messages en Ajax
- un script PHP qui enregistre et renvoie le message.
Le mot important là-dedans c'est « renvoie » : le serveur répond à une requête, et seulement celle-là (c'est le principe de base du Web). En l'occurence, il répond à la requête Ajax qui vient d'envoyer le message.
Il te manque la moitié des choses pour avoir une application de chat complète : tu n'as que la partie émission, il faut faire la partie réception.
La solution la plus facile à mettre en oeuvre, qu'on retrouve assez souvent sur les divers tutoriels, c'est d'avoir un second requêteur Ajax qui interroge le serveur régulièrement (toutes les 2 ou 3 secondes). Je te conseille de faire également un second script PHP pour bien différencier les choses.
Je ne vais pas te faire un tutoriel, il y en a des tas sur le Net. J'aimerais déjà savoir si tu peux t'en sortir avec les infos que je viens de te donner. Sinon, reviens me poser tes questions et j'y répondrai volontiers ;)
oulah y'a beaucoup de choses qui vont de travers. Bon. On va essayer de faire marcher ce que tu demandes d'abord, et après on verra pour les détails :)
Alors on a entre les mains :
- une page HTML qui envoie des messages en Ajax
- un script PHP qui enregistre et renvoie le message.
Le mot important là-dedans c'est « renvoie » : le serveur répond à une requête, et seulement celle-là (c'est le principe de base du Web). En l'occurence, il répond à la requête Ajax qui vient d'envoyer le message.
Il te manque la moitié des choses pour avoir une application de chat complète : tu n'as que la partie émission, il faut faire la partie réception.
La solution la plus facile à mettre en oeuvre, qu'on retrouve assez souvent sur les divers tutoriels, c'est d'avoir un second requêteur Ajax qui interroge le serveur régulièrement (toutes les 2 ou 3 secondes). Je te conseille de faire également un second script PHP pour bien différencier les choses.
Je ne vais pas te faire un tutoriel, il y en a des tas sur le Net. J'aimerais déjà savoir si tu peux t'en sortir avec les infos que je viens de te donner. Sinon, reviens me poser tes questions et j'y répondrai volontiers ;)
bonjour , voila j'ai trouvé ton indication "interroger le serveur réguliérement." c'est du simple javascript.
<< setInterval("declanche('')",3000) >>
pour déclencher mon requette ajax réguliérement.........
mon script marche correctement aujourd'hui , j'ai modifier la page "fiche.php"
mais le fichier partagé "chateur.txt"
va t'il provoqué une section critique ,imagine que les deux processes (les deux chateurs) accède en meme temp en écriture..... est-ce-qu'on peut utilisé du sémaphore dans ce cas la ?
je ponce que l'utilisation du base de donné est mieux q'un fichier texte],
en tous cas
Merci pour vous :=)
<< setInterval("declanche('')",3000) >>
pour déclencher mon requette ajax réguliérement.........
mon script marche correctement aujourd'hui , j'ai modifier la page "fiche.php"
mais le fichier partagé "chateur.txt"
va t'il provoqué une section critique ,imagine que les deux processes (les deux chateurs) accède en meme temp en écriture..... est-ce-qu'on peut utilisé du sémaphore dans ce cas la ?
je ponce que l'utilisation du base de donné est mieux q'un fichier texte],
en tous cas
Merci pour vous :=)
Renouvelle mes remerciements à vous. je vais trouver une solution à ce problème moi seul
Ne t'inquiète pas pour moi :=)