Page 1 sur 1
différents moyens de stocker des donner avec une durée ..
Posté : 28 mars 2006, 11:29
par cicom
Bonjour,
Je cherche différents moyens de stocker des données rapidement et sans SQL en programmant une durée de vie limitée. Un peu comme les cookies quoi, que j'ai utilisés mais j'ai quelques problèmes avec IE...
Donc voila je demande votre aide si vous connaissez d'autres moyens que les cookies pour stocker les données d'un utilisateur connecté en temps réel et avec une durée de vie limitée (20s) et que si on change de page la données ne se perde pas.
Merci de votre aide!
Posté : 28 mars 2006, 11:31
par edison1986
salut
il y a les session et pour la vie limiter a 20 s dans le php.ini tu peu choisir la duree d une session...
Posté : 28 mars 2006, 11:39
par Lorenzo
session, je vois que ca ... ou alors te faire une classe qi fonctionne sur le meme principe avec des fichiers et une methode garbage qui est executé suivant le temps.
Posté : 28 mars 2006, 11:58
par edison1986
a mon avis il ne faut pas que tu t embette php te propose un outil deja pret et tres pratique qu est les session donc sa serai domage de s en passer...
Posté : 28 mars 2006, 12:11
par cicom
oué ok mais si j'ai déjà d'autres données en session ça risque pas de les foutre en l'air? vous avez le code pour demander la durée de temps?
Posté : 28 mars 2006, 12:14
par edison1986
si tu a d autre session si sa les foutra en l aire sa c est sur sinon la ligne il fo la changer dans le php.ini et je pense que c est celle la :
la duree est en seconde...
Posté : 28 mars 2006, 12:24
par cicom
ok merci mais donc c'est pas ce qu'il me faut.
D'autres idées? pas de sessions pas de cookies
Posté : 28 mars 2006, 13:01
par zeus
Je ne suis pas sûr que l'idée de changer la durée des sessions dans le php.ini soit une bonne idée
- Quand tu voudras ajouter une section authentification, le user sera déconnecté à partir de 20s d'inactivité.
- le jour où tu passe sur un serveur mutualisé, tu n'as plus accès au php.ini
Est-ce que ces données ne doivent pas exister plus de 20s ou est-ce que personne ne doit pouvoir y accéder après 20s de vie ?
Parce que tu peut décider de poser tes variables en session et de mettre un champs "duree" qui contient l'heure de la création et à chaque accès, tu vérifie que cette heure n'est pas dépassé.
Par contre, dans cette solution, les données existent tant que quelqu'un n'accède pas aux données ou tant que la session existe
Posté : 28 mars 2006, 13:10
par cicom
il faut qu'après 20s si je demande un isset ou l'équivalent à php, qu'il ne trouve rien. J'aime bien ta solution zeus et j'y avais pas pensé et je pense qu'il va falloir que j'apprenne la fonction time...
Ce que je peux faire c'est mettre en session l'heure + 20s et a chaque accès vérifier si c'est dépassé ca ira comme ca je pense...
Si quelqu'un a une autre idée ne pas hésiter!!!
Merci à tous
Posté : 28 mars 2006, 13:26
par zeus
c'est pas incompatible
Tu fait un script que tu prend bien garde à appeller dans chaque page et qui "nettoie" les variables de session (avec unset($_SESSION["var"])). Ensuite, lorsque tu fait l'execution du script, isset($_SESSION["var"]) te retournera false
Par contre, ce que je veux te dire, c'est que les données peuvent exister plus de 20s. Mais que tu ne pourras pas y acceder via les pages de ton site
Posté : 28 mars 2006, 13:33
par cicom
oué elles seront accessibles dans le cache des sessions mais c'est pas un problème vu que tout ce qu'ils auront s'ils atteignent ce répertoire c'est des date et des pseudos alors...
Merci de ton aide zeus!
Posté : 31 mars 2006, 08:50
par chepiok
moi je dirais session en mémoire partagée (car le plus souvent par défaut le contenu de la session est sauvegardé dans un fichier). Pour une durée de vie de 20s la mémoire partagée semble plus adaptée. A mettre en balance avec la configuration du serveur utilisé
Posté : 31 mars 2006, 19:23
par cicom
Non c'est bon je pense avoir trouvé la solution je vous tient au courant...