Bonjour,
J'ai créé un petit chat tout con pour pouvoir aider les élèves qui font mes exercices (je suis prof en collège).
Les élèves ouvrent une session et on donc un login récupéré en javascript et php.
Le message écrit par un interlocuteur est envoyé dans un fichier texte ("dialogues/"+login+"DIAL.txt") par un script php ("testspeechenvoyer.php").
Le problème est que $().load ne charge pas la dernière version du fichier texte du dialogue,
SAUF si ce fichier est ouvert dans un onglet du navigateur... J'aimerais éviter à avoir à faire ça.
Le dialogue s'affiche dans la div "divdialogue", et l'élève écrit dans l'input "monecrit".
Voici mon code javascript (j'ai gardé l'essentiel) :
Voici le code php de "testspeechenvoyer.php" :
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 function refresh() {$("#divdialogue").load("dialogues/"+login+"DIAL.txt"); //j'ai aussi tenté avec les deux lignes qui suivent, mais ça ne charge pas la dernière version du fichier texte non plus...) //$.get("dialogues/"+login+"DIAL.txt", function( data ) // {$("#divdialogue").html( data ); // }); } setInterval(refresh, 1000); // Les 2 lignes suivantes sont liées à l'alternative (chargement du fichier texte dans un onglet...) var windowObjectReference; var strWindowFeatures = "menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes"; function onenvoie(){ texte=document.getElementById('monecrit').value; document.getElementById('monecrit').value = ''; $.get("testspeechenvoyer.php", { "monecritjs": texte , "logineleve": login } ); // (le login est récupéré ailleurs) //... l'alternative que je voudrais éviter : windowObjectReference = window.open("dialogues/"+login+"DIAL.txt", "le dialogue", strWindowFeatures); return false; }
Merci de votre lecture, et infini merci de votre réponse !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <?php include("recupidsession.php"); $monspeech = $_GET['monecritjs']; $monnouveaufichier = fopen('dialogues/'.$_GET['logineleve']."DIAL.txt", 'a+'); fputs($monnouveaufichier, $monspeech); fclose($monnouveaufichier); ?>
Pierre
Partager