Page 1 sur 1
le temps de visite d'un visiteur
Posté : 30 sept. 2006, 17:27
par zarbrok
salut à tous(tes),
voila comme précisé dans le titre j'aimerais savior si il existe une méthode fiable pour gérer ça (à des fins statistiques)
une méthode ne surchargeant pas la base et efficace.
merci
Posté : 01 oct. 2006, 14:47
par zarbrok
bon en fait je m'explique mieux
alors y a t il un moyen pour récupérer l'heure à laquelle le visiteur ferme la fenetre (sans employer de onunload, ni meme de javascript.) ???
toute aide est la bienvenue
merci par avance
Posté : 01 oct. 2006, 14:56
par albat
La fermeture de la fenêtre étant un évènement client,
je ne vois d'autre solution que le javascript (et l'évènement onunload, justement).
Une session PHP est fermée automatiquement lors de la fermeture de la fenêtre,
mais elle ne peut plus déclencher de traitement tel que l'enregistrement d'une heure...
Sans javascript, je ne vois pas...
Y a peut-être, mais j'ai pas l'idée.
Posté : 01 oct. 2006, 15:00
par zarbrok
merci de ta réponse aussi rapidement
je sais bien que c'est un évenement client mais onunload est assez aléatoire.
j'avais pensé sinon à un code effectuant une requette au serveur à interval + ou - long notant ainsi l'heure mais le probleme est que suivant le trafic engendré par le site j'ai peur de fusillé ma base ...
je vais continuer à chercher et vous ferez part de mes trouvailles si il y en a

encore merci et a + tard
Posté : 01 oct. 2006, 15:04
par albat
Je vais peut-être dire une bêtise (je n'ai pas fouillé)
mais je lance une idée en l'air : et avec des cookies ?
Cela dit, même si cela peut marcher (mais comment ?),
cela restera une technique encore plus aléatoire que le onunload.
Posté : 01 oct. 2006, 15:08
par zarbrok
je viens de trouver quelque chose d'interessant ... mais avec onunload
http://www.javascriptfr.com/codes/CONNA ... 16339.aspx
j'ai pas encore essayé mais ça à l'air correct à vue de nez..
Posté : 01 oct. 2006, 19:04
par Invité
arrrfff
marche pas le onunload !
n'y a t il aucun moyen de gérer la fermeture de la page par l'utilisateur ???
Posté : 01 oct. 2006, 22:54
par Truc
Pourtant l'événement "onunload" devrait fonctionner... et la popup peut être remplacée par un script Ajax
Sinon solution pratique en cas d'utilisation de pseudo frames :
Effectuer un enregistrement en BD sur chaque chargement de page.
Cette solution peut aussi faire l'affaire sans pseudo frames mais impose l'inclusion sur toutes les pages du script qui ferait l'enregistrement.
Solution pas parfaite car elle n'enregistrera pas la dernière page vue. Si le visiteur n'en voit qu'une => pas de données

Posté : 01 oct. 2006, 23:04
par zarbrok
Pourtant l'événement "onunload" devrait fonctionner... et la popup peut être remplacée par un script Ajax
Sinon solution pratique en cas d'utilisation de pseudo frames :
Effectuer un enregistrement en BD sur chaque chargement de page.
Cette solution peut aussi faire l'affaire sans pseudo frames mais impose l'inclusion sur toutes les pages du script qui ferait l'enregistrement.
Solution pas parfaite car elle n'enregistrera pas la dernière page vue. Si le visiteur n'en voit qu'une => pas de données

beh en fait le site en question il n'a qu'une page car en flash...
de ce fait j'ai inclu ma page d'enregistrement .
pour le onunload c'est pas qu'il ne marche pas, mais plutot qu'il fonctionnne 1 fois sur 5 ...
pour le script ajax c pas une mauvaise idee je vais me renseigner.
merci pour ton aide Truc
Posté : 01 oct. 2006, 23:32
par zarbrok
bon beh ajax est encore la meilleur solution... merci Truc
avec un code du type:
Code : Tout sélectionner
<script>
function file(fichier)
{
if(window.XMLHttpRequest) // FIREFOX
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // IE
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else
return(false);
xhr_object.open("GET", fichier, false);
xhr_object.send(null);
if(xhr_object.readyState == 4) return(xhr_object.responseText);
else return(false);
}
</script>
// et ensuite on appel la page qui va enregistrer l'heure de sortie
<body onunload="file('heure_sortie.php')">
et voila le tour est joué !
toutefois limité car en javascript

Posté : 01 oct. 2006, 23:42
par albat
Merci pour ta contribution !

=D>
Posté : 01 oct. 2006, 23:54
par zarbrok
tout le plaisir était pour moi
j'espere que ça éclairera d'autres personnes voulant faire ce genre de stats.