Compteurs de visites
Hors ligneAudayls Le 21/08/2006 à 20:27 Profil de Audayls Configuration de Audayls

Jeune Padawan
Bonjours à tous,
Je suis actuellement en train de créer un compteur de visiteurs en ligne en AJAX.
Donc quand un visiteur charge une page, on vérifie dans un Array si c'est sa première visite etc...
Bref cela donne : <?php $pages = array("IP de l'utilisateur1" => "contenu de ka variable PHP_SELF de la page de l'utilisateur"); ?> (Tous les utilisateurs sont dans le même tableau)
Mais je sèche totalement pour la fonction qui supprimera l'adresse IP si elle ne sais pas manifesté depuis un moment ...
Donc je suis ouvert à toutes les propositions pour créer cette fonction !
Merci d'avance pour vos réponses !
--
'Cause it's a bittersweet symphony, this life
Hors ligneAnthony Le 22/08/2006 à 13:07 Profil de Anthony Configuration de Anthony

Admin
Salut,

une question : pourquoi faire ça en AJAX ? en php ça suffit, sauf si toutes tes pages sont des pages html ... vu que c'est un compteur de visites apparemment et pas un compteur de connectés, l'AJAX ne sert à rien :)

Sinon pour ta question, comment stockes-tu tes utilisateurs ? dans un fichier ? (parce que bon pour remplir l'array faut bien que ça soit stocké quelque part) ?
--

Hors ligneAudayls Le 22/08/2006 à 13:39 Profil de Audayls Configuration de Audayls

Jeune Padawan
Si c'est un compteur de connecté c'est pour cela que je désire le faire en AJAX.
Sinon je stocke le array dans un fichier php (que je protège avec la fonction flock() pour éviter les erreurs d'écriture)
--
'Cause it's a bittersweet symphony, this life
Hors ligneIonace Le 24/08/2006 à 14:38 Profil de Ionace Configuration de Ionace

Salut !

Pourquoi ne pas utiliser les cookies avec un timestanp ou une session ....? A chaque chargement de page tu inclues une fonction qui verifie la validite du timestanp et mets a jour le compteur. Ainsi, chaque fois qu'une page est visitee, tu le sais et ton compteur l'indique. Tu definis que la lecture moyenne d'une page est de 3 minutes (par exemple) et tu regardes si le timestanp enregistre depasse ces 3 minutes. Si c'est le cas, l'utilisateur est considere comme partis, sinon c'est qu'il est toujours sur ton site. Sa evite d'avoir des requetes incessantes et de surcharger la bande passante de ton site.

Cordialement
Hors ligneMalalam Le 25/08/2006 à 13:40 Profil de Malalam Configuration de Malalam

Hello,

perso, je ne vois tjrs pas pourquoi Ajax. Ajax, tu vas le déclencher sur un évènement client (quel qu'il spoit, pas forcément un évènement utilisateur). Pour compter des connectés, à part sur un setInterval ou un setTimeOut, je ne vois pas...et dans ce cas, ça va faire un paquet de requêtes sur ton serveur!
Bref, le concept de base (dont parle IoNAce) me semble largement suffisant (et éprouvé).
Hors ligneAudayls Le 25/08/2006 à 14:42 Profil de Audayls Configuration de Audayls

Jeune Padawan
Merci IoNAce pour ta réponse cela va m'aider dans la recherche :-)

Je sais que un tel compteur  ne servira à rien mais c'était juste pour savoir si je pouvais le faire .
Apparament non, alors mais de toute façon il me reste beaucoup à apprendre ^^

En tout cas merci pour vos réponses !
--
'Cause it's a bittersweet symphony, this life
Hors ligneIonace Le 25/08/2006 à 16:12 Profil de Ionace Configuration de Ionace

De rien ;-) En fait ce que tu voulais faire n'etait pas impossible mais seulement trop gourmand... et si en plus tu es debutant, familiarise toi d'abordvaec php/html css et mysql avant de vouloir attaquer l'ajax (ce n'est que mon avis). Moi meme qui commence a avoir une petite experience (je ne me prend pas pour quelqu'un d'important loin de la), je m'en sert seulement quand c'est vraiement utile (c'est a dire dans mon cas pas beaucoup .. lol ^^).
En fait, comme malalam te l'as indique (que je salue au passage :-) ), ajax ne fais rien d'autres (dans ton cas seulement, dsl pour les puristes) que des requetes de rafraichissement de page mais de facon invisibles... ce qui permet d'eviter a avoir rafraichir manuellement la page avec un bon vieux F5 ou par le biais de javascript. En fait, tu re telecharges les morceaux de ta page qui ont ete mis a jour depuis ta dernier consultation. Cela ne garde pas de connexion  ouverte comme tu aurais pu le penser. dans l'ideal, c'est vrai qu'un compteur de visiteur en temps reel demanderait des connexions ouvertes afin d'etre au top dans les predictions .. mais bon, cela demanderait beaucoup trop de ressource pour un truc ou au final, on s'en fout un peu par rapport au contenu du site lui meme ... ^^

sur ce

@++ et bon coding !!!
Hors ligneAudayls Le 25/08/2006 à 20:17 Profil de Audayls Configuration de Audayls

Jeune Padawan
Je suis d'accord avec toi pour la ressource, mais comme je l'ai déjà dit c'était juste un exercice (je ne l'orais jamais mis en ligne)

Je connais HTML et CSS (enfin je sais faire des pages présentables et valides) par contre au niveau PHP il me reste encore pas mal à apprendre (comme les class etc ... tout ce qui est de la programmation avancée) et par contre je ne connais pas du tout MySQL :-P

On m'a conseillé de faire du C++ pour m'amélioré en PHP, vous en pensez quoi ? (car perso je préfere avoir votre avis )
--
'Cause it's a bittersweet symphony, this life
Hors ligneAnthony Le 25/08/2006 à 22:20 Profil de Anthony Configuration de Anthony

Admin
A mon avis fais du PHP d'abord et du C++ après, ça n'a rien à voir niveau langages bien qu'il y ait des similitudes au niveau du nom de certaines fonctions et de la syntaxe, ça s'arrête là.
--

Hors ligneIonace Le 04/09/2006 à 14:55 Profil de Ionace Configuration de Ionace

moi je conseillerais l'inverse : faire du php pour s'ameliorer en C. Sa te permettra de prende de bonne habitudes (decoupe son code, penser a l'optimisation, ecrire des fonctions le plus generique possible ...) sans perdre de vue que le C (et C++) sont plus delicats a manier dans leus traitements pur (pointeurs, acces direct a la memoire... des choses pouvant etre dangereuses dans des mains inexperimentees ...)

A voir ... fait toi ton propore opinion et dit nous !!
Vous avez résolu votre problème avec VIC ? Faites-le savoir sur les réseaux sociaux !
Vulgarisation-informatique.com
Cours en informatique & tutoriels