Comportement des balises onload et onunload ...
Bobparis
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
djullius -
djullius -
B'jour
J'essaie d'écrire dans un fichier texte une simple ligne à l'arrivé et à la sortie d'un visiteur d'une de mes pages.
Le souci est le suivant :
Je demande d'écrire ue ligne dans ce fichier avec la balise "Onload" en lui demandant d'exécuter une fonction php et une autre ligne avec la balise "OnUnload" en lui demandant d'exécuter une autre fonction php...
Lorsque je lance mon test, j'arrive sur la page est là, dès l'arrivé, les deux fonctions se réalisent, sans tenir compte des balises Onload et Onunload...
Le résultat étant, dès l'arrivé, dans mon fichier txt, "visiteur arrive sur la page à telle heure" et "visiteur part de ma page à telle heure" alors que le visiteur est toujours sur ma page !! :))
Ai-je négligé une particularité de php? Est ce tout simplement possible de réaliser celà en php?
J'avoue que je tourne un peu en rond....
Merci de votre aide éventuelle.
Bob
J'essaie d'écrire dans un fichier texte une simple ligne à l'arrivé et à la sortie d'un visiteur d'une de mes pages.
Le souci est le suivant :
Je demande d'écrire ue ligne dans ce fichier avec la balise "Onload" en lui demandant d'exécuter une fonction php et une autre ligne avec la balise "OnUnload" en lui demandant d'exécuter une autre fonction php...
Lorsque je lance mon test, j'arrive sur la page est là, dès l'arrivé, les deux fonctions se réalisent, sans tenir compte des balises Onload et Onunload...
Le résultat étant, dès l'arrivé, dans mon fichier txt, "visiteur arrive sur la page à telle heure" et "visiteur part de ma page à telle heure" alors que le visiteur est toujours sur ma page !! :))
Ai-je négligé une particularité de php? Est ce tout simplement possible de réaliser celà en php?
J'avoue que je tourne un peu en rond....
Merci de votre aide éventuelle.
Bob
A voir également:
- Le fournisseur de temps vmictimeprovider a indiqué que le matériel et l'environnement d'exploitation actuels ne sont pas pris en charge et ont été arrêtés. ce comportement est attendu de vmictimeprovider dans des environnements invités non hyperv. il peut également être attendu du fournisseur actuel dans l'environnement d'exploitation utilisé.
- Invite de commande - Guide
- Mode non pris en charge tv samsung ✓ - Forum Format et connectique vidéo
- Comment faire le signe environ sur clavier ✓ - Forum Graphisme
- Symbole environ sur le clavier - Forum Windows
- 35 go internet combien de temps ✓ - Forum Free mobile
5 réponses
pas de problème :o)
donc.....
<body onload="<?php function ecrire_entrer(); ?>" onUnload="<?php function ecrire_sortie();?>" >
Je suis (presque) certain que mes fonctions ecrire_entrer et ecrire_sortie ne contiennent pas d'erreur....
Par contre, lorsque j'utilise le bout de code que je viens de donner en exemple, les fonctions ecrire_sortie et ecrire_entrer s'exécute toutes les deux dès le chargement de la page !!!! Un peu comme si la balise OnUnload avait été ignoré complètement....et que le fonction s'était excuté sans fermer la fenètre.
Pas géneant me diras tu pour la fonction de la balise Onload mais un peu plus pour celle de la fonction OnUnload :o)
Voilà :)
Et merci encore de ton aide:)
Bob
donc.....
<body onload="<?php function ecrire_entrer(); ?>" onUnload="<?php function ecrire_sortie();?>" >
Je suis (presque) certain que mes fonctions ecrire_entrer et ecrire_sortie ne contiennent pas d'erreur....
Par contre, lorsque j'utilise le bout de code que je viens de donner en exemple, les fonctions ecrire_sortie et ecrire_entrer s'exécute toutes les deux dès le chargement de la page !!!! Un peu comme si la balise OnUnload avait été ignoré complètement....et que le fonction s'était excuté sans fermer la fenètre.
Pas géneant me diras tu pour la fonction de la balise Onload mais un peu plus pour celle de la fonction OnUnload :o)
Voilà :)
Et merci encore de ton aide:)
Bob
Quand tu mets une instructon php entre
<?php //Code à executer ?>
l'interpreteur php sur le serveur l'execute, il ne tient pas compte de ce que tu as écrit avant dans la chaine de carctère. si tu veux executer un script au chargement ou à la fermeture tu dois l'appelé par du javascript ou du vbscript : lui sera interprété sur le client (le navigateur) qui sait si c'est onLoad ou onUnLoad....
<?php //Code à executer ?>
l'interpreteur php sur le serveur l'execute, il ne tient pas compte de ce que tu as écrit avant dans la chaine de carctère. si tu veux executer un script au chargement ou à la fermeture tu dois l'appelé par du javascript ou du vbscript : lui sera interprété sur le client (le navigateur) qui sait si c'est onLoad ou onUnLoad....
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
salut j'ai le meme probleme si quelqu'un à réussit faite signe.
par contre sa marche c'est sur car moi sa marche en partie mon code
<?php
$remote_addr = $_SERVER["REMOTE_ADDR"];
?>
<body onload="<?php
$time = time();
if(is_file("ip_connecter.txt")){
$ip_connecter = join("",file("ip_connecter.txt"));
if(!ereg("<$remote_addr>(.*)</$remote_addr>", $ip_connecter)){
ereg("<connecter>(.*)</connecter>", $ip_connecter, $reg);
$connecter = $reg[1]+1;
$file="ip_connecter.txt";
$fh = fopen($file, "a+");
fwrite($fh, "<$remote_addr>$time</$remote_addr>");
fclose($fh);
}
}
else{
$file="ip_connecter.txt";
$fh = fopen($file, "a+");
fwrite($fh, "<$remote_addr>$time</$remote_addr>");
fclose($fh);
$connecter++;
}
?>" onunload="<?php
$time = time();
if(is_file("ip_connecter.txt")){
if(is_file("ip_connecter.txt")){
$ip_connecter = join("",file("ip_connecter.txt"));
if(ereg("<$remote_addr>(.*)</$remote_addr>", $ip_connecter, $reg)){
$ip_connecter = str_replace("$reg[0]", "", $ip_connecter);
$file="ip_connecter.txt";
$fh = fopen($file, "w+");
fwrite($fh, "$ip_connecter");
fclose($fh);
}
}
}
?>">
</body>
mon problème c'est que le code onload n'est jamais exécuter, alors que le onunload oui.
Et si je les inverse, c'est l'inverse l'inserse. c'est toujours le dernier qui marche pas. j'ai teste 2 body complètement différent même problème.
je pose la question si on peut les utiliser en semple dans la même page. Simon faut faire un frameset pour chaque body
par contre sa marche c'est sur car moi sa marche en partie mon code
<?php
$remote_addr = $_SERVER["REMOTE_ADDR"];
?>
<body onload="<?php
$time = time();
if(is_file("ip_connecter.txt")){
$ip_connecter = join("",file("ip_connecter.txt"));
if(!ereg("<$remote_addr>(.*)</$remote_addr>", $ip_connecter)){
ereg("<connecter>(.*)</connecter>", $ip_connecter, $reg);
$connecter = $reg[1]+1;
$file="ip_connecter.txt";
$fh = fopen($file, "a+");
fwrite($fh, "<$remote_addr>$time</$remote_addr>");
fclose($fh);
}
}
else{
$file="ip_connecter.txt";
$fh = fopen($file, "a+");
fwrite($fh, "<$remote_addr>$time</$remote_addr>");
fclose($fh);
$connecter++;
}
?>" onunload="<?php
$time = time();
if(is_file("ip_connecter.txt")){
if(is_file("ip_connecter.txt")){
$ip_connecter = join("",file("ip_connecter.txt"));
if(ereg("<$remote_addr>(.*)</$remote_addr>", $ip_connecter, $reg)){
$ip_connecter = str_replace("$reg[0]", "", $ip_connecter);
$file="ip_connecter.txt";
$fh = fopen($file, "w+");
fwrite($fh, "$ip_connecter");
fclose($fh);
}
}
}
?>">
</body>
mon problème c'est que le code onload n'est jamais exécuter, alors que le onunload oui.
Et si je les inverse, c'est l'inverse l'inserse. c'est toujours le dernier qui marche pas. j'ai teste 2 body complètement différent même problème.
je pose la question si on peut les utiliser en semple dans la même page. Simon faut faire un frameset pour chaque body