Précédent   Forum des professionnels en informatique > PHP > Langage > Contribuez
Contribuez Proposez vos articles, cours, tutoriels, FAQ, sources, etc. pour PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/11/2006, 03h26   #1
Membre régulier
 
Avatar de NiHiL
 
Inscription : juin 2006
Messages : 102
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 102
Points : 88
Points : 88
Par défaut Session en objet

Bonjour,

suite à des problèmes dû à la configuration php de mon hébergeur (free) j'ai réaliser un système de session en objet qui est à mon gout plus facile à utiliser que le système de session de php.

Voici le bousin :

PHP 5:

classe : http://absynthe.is.free.fr/asession/...class.php5.php
exemple : http://absynthe.is.free.fr/asession/asession.test.php5
code source exemple : http://absynthe.is.free.fr/asession/....test.php5.php

PHP 4:

classe : http://absynthe.is.free.fr/asession/...class.php4.php
exemple : http://absynthe.is.free.fr/asession/asession.test.php4
code source exemple : http://absynthe.is.free.fr/asession/....test.php4.php

Attention en php 4 il n'y a pas de destructeur donc il faut que vous fassiez
un appel à la méthode asession_close() avant toute interuption du script.
C'est à dire en bas du code source et avant toutes instructions exit() et
die() sinon les données session ne seront pas sauvegardés.

En espérant que ca en aidera certains
NiHiL est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/11/2006, 17h45   #2
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
J'ai obtenu cette erreur en allant sur ton exemple php4 :
Citation:
Warning: unlink(./sessions/masession_jN5Xzdp4wHcldp09hgP4OUJgIUPrD7H4) [function.unlink]: No such file or directory in /mnt/132/free.fr/f/4/absynthe.is/asession/asession.class.php4 on line 253

Warning: Cannot modify header information - headers already sent by (output started at /mnt/132/free.fr/f/4/absynthe.is/asession/asession.class.php4:253) in /mnt/132/free.fr/f/4/absynthe.is/asession/asession.class.php4 on line 176



Sinon :
Code :
1
2
3
4
Attention en php 4 il n'y a pas de destructeur donc il faut que vous fassiez
un appel à la méthode asession_close() avant toute interuption du script.
C'est à dire en bas du code source et avant toutes instructions exit() et
die() sinon les données session ne seront pas sauvegardés.
Concernant ce point, je te suggère de jeter un oeil à cette page : http://php.net/register_shutdown_function
__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/11/2006, 18h27   #3
Membre régulier
 
Avatar de NiHiL
 
Inscription : juin 2006
Messages : 102
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 102
Points : 88
Points : 88
Petit oublie d'upload pour l'erreur.

Merci pour le tuyau
NiHiL est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/11/2006, 18h44   #4
Membre régulier
 
Avatar de NiHiL
 
Inscription : juin 2006
Messages : 102
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 102
Points : 88
Points : 88
J'ai essayé :

Code :
1
2
// Configuration du destructeur
register_shutdown_function(array($this, 'asession_close'));
dans le constructeur, ca appelle bien le destructeur à la fin du script mais le problème c'est que les variables a l'intérieure de cette fonction ont pour valeur les valeurs par défaut, pas les valeurs configurées avec la méthode asession_config().
NiHiL est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/11/2006, 19h27   #5
Membre régulier
 
Avatar de NiHiL
 
Inscription : juin 2006
Messages : 102
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 102
Points : 88
Points : 88
Trouvé,

en fait il fallait appelé register_shutdown_function() après que les variables est étaient mise à jour, je l'ai donc mis dans le asession_start();

EDIT :

ben finalement non, comme la méthode asession_start() peut être appelée plusieurs fois ca fout le boxon car le destructeur est appelée autant de fois avec des valeurs de variables à chaque fois différentes.
NiHiL est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h12.


 
 
 
 
Partenaires

Hébergement Web