Appeler fonction PHP dans fonction JS

Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour, j'essai d'appeler une fonction PHP a l'intérieur d'une fonction JS dans un setTimeout mais se ne fonctionne pas.

En revanche, si je laisse le code PHP mais sans fonction et que j'appelle la variable "$lire"
JS m'affiche bien le contenu du fichier.

Alors pourquoi JS est capable de lire ma variable "$lire" en insérant <?php echo $lire; ?> dans le setTimeout mais n'est pas capable d'appeler la fonction <?php afficher(); ?>


<code><?php
	function afficher() {
	$fichier = fopen('messagerie.txt','a+');
	$lire = fread($fichier, filesize('messagerie.txt'));
	fclose($fichier);
	echo $lire;
}
?>

<script language="javascript" type="text/javascript">
function chargement() {
setTimeout(<?php afficher(); ?>,1000);
}
</script>


<body onLoad="chargement();">

<div id="message"> </div>

</body>



Merci d'avance.



A voir également:

3 réponses

wkl Messages postés 91 Statut Membre 28
 
Parce que tu confonds "tout" :-)

Le script PHP est exécuté sur le serveur. A ce moment, rien n'a encore été envoyé au navigateur.

Une fois le code PHP terminé (exécuté), le résultat (du code html) est envoyé au navigateur.

Une fois le code html reçu par le navigateur, il est affiché et le javascript peut prendre la main.

Bref, aucune chance qu'ils se parlent, ils ne sont pas dans la même "dimension", c'est un peu l'histoire de Terminator, ce que tu cherches à faire.

Alors, en vrai, il est possible de faire communiquer du PHP et du javascript. Mais c'est alors du javascript avec un autre script PHP, appelé par le javascript. On parle alors d'AJAX.
1
Utilisateur anonyme
 
Coucou, oui je suis bête ! J'y avais pas pensé que le JS ne pouvais pas appeler une fonction puisque pour exécuter cette fonction il faut relancer la page...

En faite mon but était d'éviter l'AJAX car je n'y comprend rien... Mais comment puis-je appeler un script PHP via du javascript ?
0
wkl Messages postés 91 Statut Membre 28
 
AJAX. Sachant que c'est un terme générique pour dire... "Javascript + PHP".
http://www.siteduzero.com/tutoriel-3-4745-ajax-et-l-echange-de-donnees-en-javascript.html
0
Utilisateur anonyme
 
Je regarde ça
0
Magicite
 
Yo,
AJAX = Asynchronous Javavascript And Xml.
Il est comme précisé par wkl impossible de relier javascript et PHP. AJAX travailles avec des métadonnées XML, en gros tout ce dont on as besoin en variables venant de PHP est stocké dans un fichier XML, c'est ce fichier qui est lu par javascript. D'où le nom métadonnées aussi.
0
Utilisateur anonyme
 
Re bon, j'ai réussi via l'objet XMLHttpRequest à executer une page PHP qui affiche un fichier texte.

l'objet XMLHttpRequest m'envoi bien se que PHP execute mais si je modifie moi même le fichier texte AJAX ne m'affiche pas le nouveau contenu du fichier texte il faut que j'actualise...
0