|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2005 Messages : 14 ![]() |
Bonjour
J'ai fait des recherches sur le forum, et j'ai lu pas mal de posts, mais je n'ai pas trouvé de cas similaire au mien ( Je suis en train de réaliser un site en PHP5. Il y a une partie nécessitant une identification. Lorsque la personne a saisi son login et son mot de passe, je crée un objet utilisateur (qui me permet par la suite, de vérifier que la personne à les droits d'accès, et de voir si la session est toujours active). L'objet utilisateur est sérialisé, puis stocké dans une variable de session. La personne est ensuite redirigée vers une page d'accueil. Sur cette page, je récupère l'objet utilisateur de cette façon : Code :
Code :
Warning: __clone method called on non-object in /home/e/esorisis/www/sdmb/index_intranet.php5 on line 14 Code :
Fatal error: Call to a member function estActif() on a non-object in /home/e/esorisis/www/sdmb/index_intranet.php5 on line 16 Voilà le code de ma page id.php (qui vérifie le login et le mot de passe, puis crée l'objet et le met dans la variable de session) : Code :
Code :
Si quelqu'un a une idée, sur l'origine de mon erreur ça me sauverait la vie, parce que comme c'est mon premier site en php5, je ne vois pas vraiment l'erreur sûrement bête que j'ai faite |
||||||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Développeur informatique Inscription : août 2005 Messages : 1 179 ![]() |
as-tu essayé d'afficher l'objet de session "utilisateur" avec print_r ?
__________________
http://cdemarche.developpez.com/ Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...
|
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2005 Messages : 14 ![]() |
Je viens de tester le print_r et la chaine de mon objet s'affiche. En fait je viens de résoudre en partie mon problème :
Je me suis rendue compte que je récupérais 2 fois l'objet dans une même page... Donc après correction, je peux enfin m'identifier et accéder à la page d'accueil des utilisateurs connectés. Seul petit bémol, mais je pense que ça doit être facilement rectifiable : Si je tente d'accéder à une autre page protégée (comme la page d'administration) et que je fais un print_r, cette fois, rien ne s'affiche, ce qui voudrait dire que ma variable de session n'est pas conservée? Est ce que je dois réenregistrer l'objet à chaque fois, alors que je ne le modifie pas? |
|
|
00
|
|
|
#4 |
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2005 Messages : 14 ![]() |
J'ai continué à faire des tests, pour voir d'où ça pourrait venir, mais je ne trouve pas
Sur les autres pages, la variable de sessions $_SESSION["utilisateur"] existe bien, seulement, il semblerait qu'elle ne contienne rien, puisque le print_r n'affiche rien... Une idée? s'il vous plaît |
|
|
00
|
|
|
#5 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2005 Messages : 14 ![]() |
Bon le print_r affiche bien quelque chose, mais je l'avais mal placé.
Sur la page où j'ai un problème, voilà ce que m'affiche le print_r : Code :
|
||
|
|
00
|
|
|
#6 |
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2005 Messages : 14 ![]() |
Bon ben j'ai trouvé mon erreur comme une grande
Je vous dis d'où ça venait, au cas où quelqu'un fasse un jour la même bêtise que moi : En fait c'est tout simple, lorsque je créais ma session, j'appelais ma variable de session $_SESSION['utilisateur'], et quand je la récupérais par la suite je faisais un $utilisateur = unserialize ($_SESSION['utilisateur']; La grosse bêtise venait de là, puisque pour PHP $utilisateur et $_SESSION['utilisateur'] ben c'est la même variable ! Du coup, il m'a suffit d'appeler ma variable $_SESSION['user'] pour résoudre mon problème Bon ben voilà, je vous l'ai dit, c'était bête, mais fallait trouver quand même mdr Allez hop : RESOLU |
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() Développeur informatique Inscription : août 2005 Messages : 1 179 ![]() |
content pour toi...
l'erreur était simple, mais pas évidente (je l'ai moi-même déjà eu d'ailleurs de mémoire...) et elle mériterait d'être notée dans la FAQ bon dév
__________________
http://cdemarche.developpez.com/ Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com