Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
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 16/12/2010, 22h38   #1
Débutant
 
Inscription : mai 2005
Messages : 1 957
Détails du profil
Informations personnelles :
Localisation : Suisse

Informations forums :
Inscription : mai 2005
Messages : 1 957
Points : 615
Points : 615
Par défaut [POO] Comment passer une variable(POO) d'une page à l'autre

Bonjour à tous,

J'ai créé une variable ainsi:

Code PHP :
$validate = new Validate();

Dans le script de ma page, $validate prend des valeurs.
Jusqu'a là tout marche bien.

Le problème c'est qu'en fin de script, j'ai un formulaire qui envoi des donées en $_POST sur une autre page et j'ai besoin des données de $validate sur cette autre page.

J'ai donc essayé ceci:

Code PHP :
$_SESSION['validate'] = $validate;

Puis dans la page No2, j'ai un truc du genre:

Code PHP :
1
2
3
4
5
$session_start()
$validate = new Validate()
 
$validate = $_SESSION['validate']
CheckNowTheFieldsContentAndRecordTheResult($val, $validate)

Le problème c'est que j'ai ce message d'erreur qui s'affiche:
Citation:
Notice: CheckNowTheFieldsContentAndRecordTheResult() [function.checknowthefieldscontentandrecordtheresult]: The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "Validate" 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 /Applications/MAMP/htdocs/eBooking/include/poo/form/validation.class.php on line 97
J'ai peir que mon explication semble être du chinois, mais en gros j'aimerais utiliser une variable initialisé en POO (je ne suis pas trop expert en POO) sur une autre page.

Mille mercis pour vos lumières!
__________________
Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!
pierrot10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2010, 22h59   #2
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 951
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : janvier 2006
Messages : 951
Points : 1 063
Points : 1 063
en fait c'est tout simple comme erreur.
au moment ou la $_SESSION est déserialisée (c'est à dire retransformée en objet d'apres sa formule textuelle ) la classe de l'objet que tu dois instancier n'est pas définie, ie elle n'est pas encore inclue dans ton code.

tu peux le faire manuellement mais le killer feature c'est __autoload() spl_autoload_register() que tu utilises pour charger les classes de façon dynamique, ce qui est facile a faire si tu as un systeme de nommage des fichiers systematique qui te permet de deviner le nom du fichier à inclure à partir du nom de la classe.
__________________
PHP fait nativement la validation d'adresse électronique Vous êtes perdu en PHP? rassurez-vous ici (en)
Utilisez le bouton résolu!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2010, 23h01   #3
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Il faut que ta class soit définie également dans le deuxieme fichier (et avant le session_start)
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2010, 23h03   #4
Débutant
 
Inscription : mai 2005
Messages : 1 957
Détails du profil
Informations personnelles :
Localisation : Suisse

Informations forums :
Inscription : mai 2005
Messages : 1 957
Points : 615
Points : 615
Super merci a tous,
je regarderai ca demain!
Toute bonne soirée
__________________
Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!
pierrot10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h11.


 
 
 
 
Partenaires

Hébergement Web