Et dans le fichier visiteurs.php : <? echo "/img/barre_chargement.gif"; ?>
Pourquoi est ce que ca ne marche pas ?
Je voudrais pouvoir mettre la source de l'image dans le fichier php indiqué + bien sur du code php, et ce possible car ca m'arrangerais beaucoup
Je sais que l'on peut le faire avec : IMG SRC="<? include ("visiteurs.php" ); ?>" BORDER=0 NAME="compt_affich" id="compt_affich" width=10 height=10>
mais ca ne m'interesse pas car avec un script javascript qui raffraichit l'image toutes les 30 secondes, je souhaite relancer la page visiteurs.php et ainsi montrer que le visiteur est toujours connecté au site afin de pouvoir compter combien il y a de visiteurs en meme temps sur mon site
A la place de mettre ton src="img.php" met src="$url_image"
Et au tout début de ton fichier tu include ton fichier annexe dans lequel tu a déclaré la variable.
Ce que tu veut faire n'est pas possible car ton navigateur va aller voir ton fichier php et essayer de l'ouvrir comme si c'etait une image, mais il tombera sur un ensemble de caracteres incomprehensible en temps qu'image...
Pour le readfile("/img/barre_chargement.gif" ) ; , ca marche tres bien mais comme l'a indiqué mrbebert, seule l'image est affichée et les codes php contenue dans visiteurs.php ne sont pas éxecuté
Alors voila ma question :
Comment faire pour pouvoir toutes les 30 secondes rechargé une page php à partir d'une autre page. Ex : faire un include qui se réactualise toutes les 30 secondes.
En php, c'est pas possible, faut donc passer par le javasciprt. Et grâce a vos messages, je me rend compte que ce n'est pas possible par l'intermédiaire d'une image et du script :
<SCRIPT LANGUAGE="JavaScript">
<!--
function Compt_Recharg_img() {
document.compt_affich.src = "../../include/visiteurs.php"; }
setInterval("Compt_Recharg_img()",5000); // délai au bout duquel on recharge le script de visiteur
//-->
</SCRIPT>
Alors une autre idée pour faire ce que j'ai citée plus haut ???
Il y a peut être un problème de cache.
Essaie plutot :
<SCRIPT LANGUAGE="JavaScript">
<!--
var i = 0;
function Compt_Recharg_img() {
document.compt_affich.src = "../../include/visiteurs.php?i=" . i; }
i++;
setInterval("Compt_Recharg_img()",5000); // délai au bout duquel on recharge le script de visiteur
//-->
</SCRIPT>A priori, i ne sert à rien, il n'est pas utilisé par le script php. Mais sa présence fait que l'URL est différente, donc le navigateur ne l'a pas en cache, donc t'es sur qu'il la recharge
Le probleme avec ce script n'est pas qu'il ne se recharge pas ( il se recharge tres bien ) mais c'est le fait que les codes php dans le fichier "../../include/visiteurs.php" ne sont pas interprétés !!
peut etre il y a une solution avec les iframes ou autre chose qui peuvent etre reactualisées grace à document.src ou quelque chose dans ce genre
M'y connaissant pas beaucoup en javascript, je fais appelle a vous
"../../include/visiteurs.php" n'est pas interprété car ton ordinateur sur lequel tu su=rfes mets en cache l'image et te ressort la meme a chaque rechargement.
pour eviter ca, soit tu utilises la methode de mrbebert (i qui s'incremente), soit tu utilises une variable qui change regulierement :
<SCRIPT LANGUAGE="JavaScript"> <!-- var i = Math.ceil(Math.random()*100000000000); function Compt_Recharg_img() { document.compt_affich.src = "../../include/visiteurs.php?i=" . i; } i = Math.ceil(Math.random()*100000000000) ; setInterval("Compt_Recharg_img()",5000); // délai au bout duquel on recharge le script de visiteur //--> </SCRIPT>
Je souahite effectivement que visiteurs.php soit inclut et qu'il soit rechargé toutes les 30 secondes mais je veux seulement que le fichier visiteurs.php soit rechargé et pas toute la page entière !!
C'est pour cela que j'essaye de l'integrer dans une image qui peut etre rechargé grace au javascript.
Pour la méthode de mrbebert (i qui s'incremente), ca ne marche pas non plus puisque meme lors du 1er chargement de la page, le code de visiteurs.php n'est pas interpreté. Ce n'est donc pas un probleme de cache mais bien d'interpretation de code php qui se trouve dans visiteurs.php
Une idée pour que visiteurs.php soit interprété et rechargé toutes les 30 secondes ( peut y a t-il une autre solution qu'avec les images )
J'attend, votre soutient
Bonne nouvelle : la page visiteur.php est bien interprété ( je me suis trompé ) mais les variables définies dans cette page n'existe plus dans la page principale
Comment faire pour que les variables définies dans visiteurs.php soient prises en compte dans la page principale ?
je suis pas sur de tout comprendre mais si tu ne recharges que visiteurs.php, il n'y a pas de raison que ta page principale qui elle n'est pas rechargée soit différente...
Je ne veux pas que la page principale soit différente a chaque reactualisation de l'image ( et donc du fichier visiteurs.php ) car c'est impossible car la page principale n'est pas réactualisée
Je veux seulement que lors de l'affichage de la page principale, il m'affiche le nombre de visiteurs qui est contenu dans une variable qui se trouve dans le fichier visiteurs.php
Mais visiteur.php étant exécuté comme une image, les variables ne sont pas transférée vers la page principale
Tu génères une image ? Eh bien, tu écris ce que tu veux dans cette image.
Mais le fichier visiteurs.php étant exécuté indépendamment, il ne peut pas renvoyer vers le navigateur à la fois du texte (ou du HTML) et une image. C'est l'un ou l'autre.