Appeler fonction PHP dans fonction JS

Fermé
Utilisateur anonyme - 22 mai 2011 à 18:38
 Utilisateur anonyme - 22 mai 2011 à 20:20
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 85 Date d'inscription vendredi 22 avril 2005 Statut Membre Dernière intervention 15 février 2018 28
22 mai 2011 à 18:42
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
22 mai 2011 à 18:50
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 85 Date d'inscription vendredi 22 avril 2005 Statut Membre Dernière intervention 15 février 2018 28
22 mai 2011 à 18:56
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
22 mai 2011 à 19:26
Je regarde ça
0
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
22 mai 2011 à 20:20
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