Variable de session & classes [résolu]

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Variable de session & classes [résolu]

Re: Variable de session & classes [résolu]

par stealth35 » 15 avr. 2010, 17:44

Enfait il faut inclure la déclaration de la classe AVANT le session_start(); #-o
oui et a chaque fois :wink:

Re: Variable de session & classes [résolu]

par Ced » 15 avr. 2010, 17:42

Problème résolu !

Enfait il faut inclure la déclaration de la classe AVANT le session_start(); #-o

Merci beaucoup à toi pour ton aide stealth35 :wink:

Re: Variable de session & classes

par Ced » 15 avr. 2010, 17:23

J'ai mis une variable de session dans classes.php qui prends la valeur true dès que la page est lancée.
En dessous du session_start() :

Code : Tout sélectionner

if(!isset($_SESSION['classeIncluse'])) include('classes.php');
Et j'ai enlevé l'include qu'il y avait plus bas.

Lorsque je tente une connexion, j'obtiens :
Fatal error: Class 'Utilisateur' not found in C:\...

Re: Variable de session & classes

par stealth35 » 15 avr. 2010, 16:52

a chaque fois que tu fais un session_start, tu dois vérifier que ta classe est bien incluse

Re: Variable de session & classes

par Ced » 15 avr. 2010, 16:50

Ok, donc tout de suite après la connexion var_dump() affiche les infos de ma classes mais une fois que je rafraichis la page, les infos sont toujours là mais il rajoute effectivement un __PHP_Incomplete_Class .

Voici ma classe Utilisateur :

Code : Tout sélectionner

class Utilisteur { var $idUtil, $pseudoUtil //ect... function Utilisateur () { } function detailsUtil($idUtil,) //ect... { $this->idUtil = $idUtil; //ect... } }

Re: Variable de session & classes

par stealth35 » 15 avr. 2010, 16:37

Merci pour ta réponse, je ne connaissais pas cette fonction.
A quelle moment dois-je l'exécuter ?
oh bah quand même :wink:

execute la apres (dans ton Page login.php :)
include('affichLog.php');

Re: Variable de session & classes

par Ced » 15 avr. 2010, 16:36

Merci pour ta réponse, je ne connaissais pas cette fonction.
A quelle moment dois-je l'exécuter ?

Re: Variable de session & classes

par stealth35 » 15 avr. 2010, 16:34

lu, fais un
var_dump($_SESSION)
(tu vas peu être trouvé un __PHP_Incomplete_Class)

Variable de session & classes [résolu]

par Ced » 15 avr. 2010, 16:29

Bonjour à tous!

Cela fait bien trop d'heures que je reste coincé sur un problème et n'ayant pas trouvé de solutions sur le net, je m'en remet à vous!

Je crée un site et je bloque au niveau de la gestion des sessions d'utilisateurs. Tout marchait bien jusque là mais j'ai décidé d'intégrer une classe 'Utilisateur' pour me simplifier la vie et avoir un code plus joli... et du coup c'est le bordel!
J'ai le message d'erreur suivant :
" The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "Utilisateur" of the object you are trying to operate on was loaded_before_unserialize() gets called or provide a __autoload() function to load the class definition in C:\tralala\login.php on line 22 "
Apparemment cela signifie qu'il n'arrive pas à atteindre ma classe.
Voici la structure de mon site :

Page index.php :
(en premieres lignes de mon body) :
include("methodes.php");
include("classes.php");
include("bandeau.php"); // dans ce bandeau j'inclue login.php

Page login.php :
include('affichLog.php');
Si la variable de session "isConnected" = false : J'affiche le form permettant de ce connecter dont la cible est login.php.
Sinon j'affiche la variable de session "Utilisateur" (cette variable est une instance la classe "Utilisateur")

Page affichLog.php :
Si $_SESSION['Utilisateur'] n'est pas définie alors $_SESSION['isConnected'] = false ;

Si $_POST['txtIdentifiant'] est définit :
Je récupère les données dans ma bdd.
$_SESSION['Utilisateur'] = new Utilisateur;
$_SESSION['Utilisateur']->detailsUtil($donnees['pseudoUtil'], ect...) // fonction de la classe qui alimente les variables de l'objet
$_SESSION['isConnected'] = true;




Et donc, quand je me connecte, la page login.php affiche bien le nom de l'utilisateur mais dès que je rafraichis la page ou que je change de page, j'ai le message d'erreur ci-dessus.
J'en déduit qu'il arrive à atteindre ma classe la première fois mais dès qu'il s'agit d'utiliser la SESSION['Utilisateur'] (instance de ma classe Utilisateur) il ne retrouve la classe...

Voilà, merci d'avance pour votre aide.

Ced.