Audayls |
Le 21/08/2006 à 20:27 |
|
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 |
Anthony |
Le 22/08/2006 à 13:07 |
|
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) ? -- |
Audayls |
Le 22/08/2006 à 13:39 |
|
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 |
Ionace |
Le 24/08/2006 à 14:38 |
|
|
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 |
Malalam |
Le 25/08/2006 à 13:40 |
|
|
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é). |
Audayls |
Le 25/08/2006 à 14:42 |
|
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 |
Ionace |
Le 25/08/2006 à 16:12 |
|
|
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 !!! |
Audayls |
Le 25/08/2006 à 20:17 |
|
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 |
Anthony |
Le 25/08/2006 à 22:20 |
|
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à. -- |
Ionace |
Le 04/09/2006 à 14:55 |
|
|
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 !! |