IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[POO] Objet et $_SESSION


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Par défaut [POO] Objet et $_SESSION
    Bonjour j'ai un soucis apparement lié à l'utilisationd'un objet comme variable de session.

    Quand après l'attribution, je réutilise l'objet plus tard dans la session j'ai droit à ce joli mais obscure message :

    The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "gestionnaireSels" 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 G:\test\site\LOGIN.php on line 56

    voici ma classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    class gestionnaireSels {
    	// toujours trié dans l'ordre croissant des dates
    	// lesSels[x] avec x € N+
    	// lesSels[x] = array (key (time) => val (sel))
    	var $lesSels;
     
    	function gestionnaireSels() {
    		$this->lesSels = array();
    	}
     
    	// ajotue un sel, en faisant de l'espace si nécessaire
    	// renvoie la paire indice (x) val (sel)
    	function addSel() {
    		$this->dropSelsPerimes();
     
    		if (count($this->lesSels) == MAX_SELS) {
    			array_shift($this->lesSels);
    		}
     
    		$pos = count($this->lesSels);
    		$key = time();
    		$val = $this->genereSel();
     
    		echo($pos." : ".$key." ".$val."<br>");
    		$this->lesSels[$pos] = array($key => $val);
     
    		return array($pos => $val);
    	}
     
    	// génère un grain de sel
    	function genereSel() {
    		$num = mt_rand();
    		return md5($num);
    	}
     
    	function getSel($key) {
    		if (array_key_exists($key,$this->lesSels)) return $this->lesSels[$key];
    		return NULL;
    	}
     
    	function getSelNonPerimes($key) {
    		$this->dropSelsPerimes();
    		return getSel($key);
    	}
     
    	// parcours tout les éléments périmés et les supprime
    	function dropSelsPerimes() {
    		echo("<br>XX"."-"."XX<br>");
    		reset($this->lesSels);
    		while (list($key,$val) = each($this->lesSels)) {
    			echo("<br>XX"."O"."XX<br>");
    			$x = current($val);
    			$time = intval( $x[0] );
    			echo("<br>XX".$time."XX<br>");
    			if ($time >= (time() + PEREMPTION_SEL)) {
    				unset($this->lesSels[$key]);
    			} else  break;
    		}
    	}
    }
    et voici l'apelle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (!array_key_exists("sels",$_SESSION)) $_SESSION["sels"] = new gestionnaireSels();
     
    list($selKey,$selVal) = current( $_SESSION["sels"] -> addSel() );

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Par défaut
    Bon, ben c'est avant l'appelle de Sessions_start qu'il faut avoir charger la classe, je croyais que c'était avant l'appelle (l'utilisation) de l'objet.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [POO] objet requis dans choix de bouton radio
    Par allowen dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 30/11/2005, 14h46
  2. [POO] objet http_request
    Par marti dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 30/10/2005, 02h14
  3. [POO] Objet / procedurale
    Par poussinphp dans le forum Langage
    Réponses: 27
    Dernier message: 11/10/2005, 16h10
  4. C++ POO Objet
    Par Jean Frobert dans le forum Langage
    Réponses: 5
    Dernier message: 23/03/2005, 20h02
  5. [POO] Objet Navigator
    Par AssKiller dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/10/2004, 11h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo