Temps passé sur une page ? [PHP] - PHP - Programmation
Marsh Posté le 28-07-2003 à 20:39:35
PHP : langage qui s'exécute coté serveur, donc je ne vois pas comment PHP (le langage) pourrait savoir ce qui se passe du coté du client...
Au pire tu peux faire en sorte que chacuns des liens qui composent ta page contiennent le timestamp de l'instant où la page a été générée. Comme ça dès qu'on clique sur un lien, on envoie au serveur le timestamp et il est capable de déduire le temps passé en faisant la différence avec le timestamp courant...
Bien ça ne marche que si le visiteur reste sur le site et qu'il clique sur des liens. S'il sort du site ou qu'il utilise Back/Forward, on perd l'info..
Marsh Posté le 28-07-2003 à 20:44:42
C'est justement mon problème !!!
N'y a-t-il pas moyen de :
calculer le temps en javascript et à l'aide d'un 'onUnload' lancer l'exécution d'un bout de code PHP qui mettrait à jour MySQL avant de rendre la main au 'surfeur' ?
???
merci
Marsh Posté le 28-07-2003 à 20:47:34
chninkel a écrit : C'est justement mon problème !!! |
non, c'est n'importe quoi ça. Du code javascript (coté client) n'éxécute jamais du code php (coté serveur)
Marsh Posté le 28-07-2003 à 20:51:01
donc d'après vous,
on ne peut pas mettre dans MySQL le temps passé par le visiteur sur une page ?
Marsh Posté le 28-07-2003 à 21:27:38
Si, mais de manière imparfaite (cf ma réponse). Et qu'on le mette dans MySQL ou autre n'a aucune importance...
Marsh Posté le 28-07-2003 à 22:01:14
SchnapsMann a écrit : |
Ben pourkoi?
Si le onUnload ouvre une popup dont l'adresse est un script php par exemple, c'est tout à fait faisable
Marsh Posté le 28-07-2003 à 22:02:09
pospos a écrit : |
FREEE XXXX P0RNNNNNNN
Marsh Posté le 28-07-2003 à 22:21:18
kadreg a écrit : |
bon le vieux tu vas arreter de polluer les topics sérieux stp
Marsh Posté le 28-07-2003 à 22:32:05
pospos a écrit : Ben pourkoi? |
Ouais mais bon c'est TRÈS lourd... HTTP n'est pas fait pour ça.
Si on vient à faire des trucs comme ça alors il faut raisonnablement envisager d'autres méthodes pour communiquer entre le client et le serveur...
Marsh Posté le 28-07-2003 à 22:52:03
ya peu etre une autre solution:
tu met tes pages dans un frameset, avec comme frame du haut (ou de gauche) une frame de 1 pixel qui est en fait une page qui fait un meta refresh toutes les 5 secondes par exemple (suivant la precision dont tu a besoin), avec comme parametre la location de la page qui se trouve dans la frame principale (la seule visible pour l'utilisateur) touq ca envoyé au script php.
Le script php peu renvoyer un code http 204 ("ne pas changer le contenu" ) pour alleger un peu tout ca
ca doit etre jouable je pense
Marsh Posté le 28-07-2003 à 23:41:17
hum ca doit etre possible... des scripts de stat le font...
en calculant à kel moment la page est appelé et à kel moment on apelle une autre page c pas possible.??.
Marsh Posté le 29-07-2003 à 00:09:42
Peaceiznotdie13 a écrit : hum ca doit etre possible... des scripts de stat le font... |
Si, cf ma solution plus haut... Ou alors on peut utiliser les sessions... En enregistrant en variable de session le timestamp de la génération d'une page et en calculant le temps passé entre chaque appel. Mais là aussi c'est imaparfait.
Marsh Posté le 29-07-2003 à 10:11:11
si jamais le visiteur passe de page en page sur mon site, le problème n'existe pas vraiment. L'heure d'accès à la nouvelle page correspond à la fin de l'ancienne.
Le Pb existe quand il quitte la dernière page pour aller ailleurs; là, je ne sais pas combien de temps il est resté sur cette dernière page !!!
Et c'est ce que je voudrais savoir
On peut calculer le temps passé en JavaScript, mais comment l'envoyer au serveur pour qu'il le mette en MySQL ?
Marsh Posté le 29-07-2003 à 11:47:39
Plutôt qu'une pop-up bien chiante (même si elle est fermée automatiquement) tu peux utiliser une frame invisible (taille 0 pixel) dans laquelle tu charges ton PHP lors du onUnload
Marsh Posté le 29-07-2003 à 13:05:40
Si je puis me permettre, a quoi ca peut bien servir de savoir si le gas est resté 54 secondes ou 15 minutes avec telle page web ouverte?
Marsh Posté le 29-07-2003 à 14:36:16
parce que j'ai des pages commerciales sur mon site
chaque client a 1,2 ou 3 pages
et certains clients voudraient avoir des stats précises
voilà
Marsh Posté le 29-07-2003 à 16:23:56
omega2 a écrit : Si je puis me permettre, a quoi ca peut bien servir de savoir si le gas est resté 54 secondes ou 15 minutes avec telle page web ouverte? |
ca peut etre intéressant de connaitre les pages qui intéressent le plus les visiteurs pour pouvoir améliorer les services proposés sur ces pages...tout simplement et cen'est qu'une raison parmi plein d'autres
Marsh Posté le 29-07-2003 à 19:56:44
chninkel a écrit : parce que j'ai des pages commerciales sur mon site |
Bof, mieux vaut faire des études qualitatives sur des retours d'expérience.
Comme tu l'as compris c'est très difficile d'évaluer cette info. Car il y a plein de failles (en particulier les boutons Back et Forward)
Et puis de toute façon la meilleure stat c'est la fréquentation du site ou le nombre de hits par visiteur. S'il est bien fait et qu'il remplit son rôle le gens reviendront.
Le temps passé sur une page n'a, à mon sens pas beaucoup de signification : on peut passer peu de temps sur un site pour 2 raisons :
- Le site est bien fait et on trouve l'info tout de suite => le client est content et reviendra
- Le site est mal fait => le client rebuté repart immédiatement.
Bref pour une même observation (un temps de visite court) on abouti à 2 conclusions contradictoires.
Bon bien sûr tout dépend de ton domaine d'activité, mais à mon avis tu cherches une réponse (imparfaite) à une fausse question...
Marsh Posté le 29-07-2003 à 20:36:48
ReplyMarsh Posté le 29-07-2003 à 21:29:10
gm_superstar a écrit : |
Même chôses pour les longues durées :
Marsh Posté le 29-07-2003 à 21:34:05
C'est bien vrai ce que vous dites ...
Le temps affichage page n'a pas vraiment de valeur
On peut aussi aller boire un café en laissant la page afichée ...
Bon je verrais ça plus tard si le besoin se déclare à nouveau.
Je vais, pour l'instant, me contenter d'essayer de suivre le chemin du visiteur pour les clients qui ont plusieurs pages.
merci à tous
Marsh Posté le 29-07-2003 à 21:38:26
Sage décision
Marsh Posté le 28-07-2003 à 20:21:21
Bonjour,
peut-on trouver le temps passé sur une page en PHP ?
Ceci afin de renseigner mon champ MySQL : TimeFinVisite.
merci
JLC
Message édité par chninkel le 28-07-2003 à 20:40:01