Creer table pour session

jul
Eléphant du PHP | 56 Messages

09 mai 2005, 12:50

Bonjour à tous,

Décidement je ne m en sort pas avec les sessions.
Voilà j aimerais comptabiliser les internautes qui passent sur mon site et pour ca on m a dit d utiliser les sessions. Pour cela je dois donc creer une bdd et une table mais quoi mettre comme champs dans ma table pour que les internautes soient comptabilisés sans avoir à passer par un formulaire de login, juste qu ils soient comptabilisés... je me repete mais c difficile à expliquer lorsque l on y comprend pas grand chose. :(

un peu d aide serait la bienvenue !

merci

PS: je ne demande pas que l on fasse le boulot pour moi juste que l on m explique comment proceder de la maniere la plus simple !
[ Jul ] Souviens toi que le chène majestueux proviens d'un gland ridicule !

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

09 mai 2005, 13:04

En fait il n'ya pas de relation directe entre les sessions et le comptage des visiteurs.
On peut toujours programmer le comptage sans utiliser de session.
La technique que je propose n'engage que moi.
L'idée est de stocker le compte dans un conteneur persistant (durable) tel qu'un fichier texte ou une table de base de données.
En suite, à chaque visite de la page d'accueil, le compte est incrémenté quelque soit l'origine de l'appel (utilisateurs non authentifiés inclus).

Pour cela, et dans le cas d'une table de BDD, la structure de la table peut être la suivante :
compte (valeur, date)
où la valeur est mise à jour par date

La requête UPDATE compte SET valeur = valeur +1 WHERE date = $date_jour
doit être exécutée au démarrage de la page d'accueil.
Chaque jour et à la première connexion, un compte à zéro doit être créé dans la table compte (ceci peut être automatisé par le serveur ou intégré dans la page d'accueil : un test si la date existe suffit pour faire un update ou un insert) la mise à zéro d'un nouveau compte du jour peut être réalisé par la requête INSERT INTO compte VALUES (0, $date_jour)
Telque : $date_jour est une variable qui prend la valeur de date("y/m/d")
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène