Actualiser une variable Javascript avec PHP

CChargy Messages postés 126 Date d'inscription samedi 24 avril 2004 Statut Membre Dernière intervention 6 janvier 2008 - 28 févr. 2006 à 15:17
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 28 févr. 2006 à 17:15
Bonjour,
J'aimerais que javascript tout les deux secondes (setInterval("fonction();", 2000);) mette a jour une variable en fonction de ce que lui renvoie PHP. Par exemple, PHP renvoie la date et l'heure, javascript affiche la datte et l'heure.

Mon idée:
window.document.body.innerHTML+='<script scr="x.php"></script>';
et chez php var txt=<?echo date(); ?>
et après j'utilise la avriable txt dans javascript.

mais ça ne marche pas. est-ce normal?

Colin CHARGY

8 réponses

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
28 févr. 2006 à 15:42
Salut,

var txt="<?php echo date(); ?>";

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
28 févr. 2006 à 15:43
Bonjour,

la seule possibilité c'est de rappeler le script php.
avec un formulaire <form action="php"...
avec un lien, ou location.href="php"
avec xmlhttprequest ( il y a des exemples ici même ).

en effet, le php et le javascript ne sont pas seulement
des langages différents : ils ne se déroulent pas sur
la même machine, et pas en même temps.
c'est la php sur le serveur qui créé la page html/Javascript,
l'envoie vers le client, et se termine.
chez ce client seul subsistent le html/javascript

Cordialement. Bul. ~
0
CChargy Messages postés 126 Date d'inscription samedi 24 avril 2004 Statut Membre Dernière intervention 6 janvier 2008
28 févr. 2006 à 15:47
Est-ce possible de créer un cadre en ligne invisible pour l'utilisateur, qui s'actualiserai toutes les 2 secondes et et qui contiendrais la nouvelle variable. Mon problème est comment est-ce que ce cadre en ligne donne sa nouvelle valeur a son parent?

Cordalement,
Colin CHARGY
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
28 févr. 2006 à 15:58
CChargy, cherche de la doc sur les xmlhttprequest... et essai ma
méthode... Sinon, certaines personnes passent par des iframes de
tailles 0 ou avec display:none; ou bien des images ayant les mêmes
styles de propriétés...

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
28 févr. 2006 à 16:08
t.php :

<script type="text/javascript">
function appel()
{
location.href="t.php";
}
window.document.body.innerHTML+="
<?php echo date("d/m/Y")."_".time(); ?>";
setTimeout("appel();",2000);
</script>

ça recharge la page toutes les 2 secondes,
en rappelant par l'URL, avec un formulaire
ça rechargerait aussi.
si on ne veut pas, les solutions proposées
par coucou747 : xmlhttprequest ou iframe cachée.

Cordialement. Bul. ~
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
28 févr. 2006 à 16:18
Salut,

bultez, selon moi, cette solution est la pire de
toutes... c'est pas propre du tout... et ça se voit... la solution la
plus propre reste celle des xmlhttprequest, les autres ne sont pas
super super crade, et sont cachés, mais celle là n'est pas vraiment
vraiment crade non plus, mais on voit tout les défauts...

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
28 févr. 2006 à 16:37
>>selon moi, cette solution est la pire de toutes
ce n'était qu'un exemple et rien d'autre
et moi je suis un peu nul, donc c'est normal
que je propose ce genre de chose...
>>c'est pas propre du tout
j'ai pourtant tout récuré avant, de la tête aux pieds, sans oublier
le brossage des dents ? alors je comprend pas ? y'a une odeur ?
et moi j'aime bien !
>>la plus propre reste celle des xmlhttprequest
ce n'est pas parce que c'est à la mode, qu'il faut
mettre ça à toutes les sauces, ça dépend très
largement de l'application, de ce qu'il faut faire...
on ne peut pas généraliser comme ça.
>>les autres ne sont pas super super crade
chacun ses goûts, fait comme il veut, et je
ne me permettrais pas de critiquer et encore
une fois tout dépend du contexte aussi.
Cordialementl. ~
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
28 févr. 2006 à 17:15
Salut,

si tu regarde le nombre d'opérations qui sont effectués



en cas de xmlhttprequest :

ton javascript est exécuté, tu as une requette, ton php est exécuté, tu
as le retour de ta requette, et javascript reçois directement la
réponse.



en cas d'iframe, ou d'image (même procédé)

tu charge au départ une iframe ou une image qui ne sera pas affichée...
ou alors, tu fais une requette de trop, et provoque une erreur 404...
bref, t'as une requette de trop au départ... ensuite, ton javascript
s'exécute, l'url est remise à jours, t'as une requette, t'as une
réponse, une seule partie de la réponse t'interesse... ton javascript
de l'iframe s'exécute, et t'obtiens ta variable (pour l'image, c'est un
aller simple, t'as pas de réponse....) ça fait quand même des erreurs
provoqués, ou des requettes en trop...



Pour le rechargement, comme je l'ai dit, ta page clignote, si tu éditais un champ, il est vidé ect...


In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

0
Rejoignez-nous