WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 02.08.2001, 13:27   #1
Who-T
Elite
 
Registriert seit: 01.08.2000
Beiträge: 1.395


Who-T eine Nachricht über ICQ schicken
Standard Objekte in Sessions

weiß wer, wie man man objekte in sessions übergeben kann?

ich hab eine klasse, deren namen ich registriere, allerdings kann ich damit im zweiten skript nix anfangen.

konkret:


class test {

var $try = 0;
function incTry ($a) {
$this->try += $a;
}
}



session_start ();
$versuch= new test;
$versuch->incTry (4);

session_register ("versuch");
echo "<a href=\"try2.php\">asdfasfd</a>";


in datei try2.php hab ich dann evenfalls die gleiche klassendefinition, wenn ich mit echo $versuch ausgebe, zeigt er mir an, dass es ein objekt ist, er kennt es also.

allerdings gibt er mir beim zugriff auf die variablen und methoden eine fehlermeldung aus:

Fatal error: The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition test of the object you are trying to operate on was loaded _before_ the session was started in _pfad_/try2.php on line 13


die datei try2.php schaut so aus:
class test {

var $try = 0;
function incTry ($a) {
$this->try += $a;
}


}

echo "$versuch
";
$a = $versuch->try;
Who-T ist offline   Mit Zitat antworten
Alt 03.08.2001, 08:00   #2
Alex1
Alter Sack
 
Benutzerbild von Alex1
 
Registriert seit: 19.09.1999
Ort: An der schönen alten Donau
Alter: 53
Beiträge: 1.579

Mein Computer

Standard

In try2.php musst Du die session starten, also mit:

session_start ();
Alex1 ist offline   Mit Zitat antworten
Alt 03.08.2001, 11:37   #3
RaistlinMajere
Inventar
 
Registriert seit: 06.04.2001
Alter: 44
Beiträge: 2.343


Standard alibert hat recht

sobald du die session auch im zielfile öffnest, kannst auf alle abgespeicherten objekte/variablen zugreifen.
____________________________________
"Life is like a box of rockets," said the Marine. "You never know what you´re gonna ret."
Then he pulled the trigger of his BFG9000.
RaistlinMajere ist offline   Mit Zitat antworten
Alt 03.08.2001, 12:01   #4
Who-T
Elite
 
Registriert seit: 01.08.2000
Beiträge: 1.395


Who-T eine Nachricht über ICQ schicken
Standard

danke, ich habs jetzt zwar anders gelöst, aber trotzdem danke

fürs nächste mal dann hilfreich

aber andere frage:
wieso ist dies für objekte notwendig, session_start in den zielfiles zu schreiben
für andere vars ist es nicht notwendig
Who-T ist offline   Mit Zitat antworten
Alt 04.08.2001, 10:19   #5
Alex1
Alter Sack
 
Benutzerbild von Alex1
 
Registriert seit: 19.09.1999
Ort: An der schönen alten Donau
Alter: 53
Beiträge: 1.579

Mein Computer

Standard

Das kommt immer darauf an, wie die Variablen übergeben werden.
Das hat nix mit Objekt oder Nicht-Objekt zu tun.

Eine Session musst Du daher im Zielfile immer starten, sobald Du Variablen per Session übergibst.
Alex1 ist offline   Mit Zitat antworten
Alt 06.08.2001, 10:32   #6
RaistlinMajere
Inventar
 
Registriert seit: 06.04.2001
Alter: 44
Beiträge: 2.343


Standard

wenn die variablen per href übergeben werden, also z.b. so

<a href="irgendwas.php?variable1='var1'&variable2='va r2'>

dann geschieht das ohne session und du kannst gleich im zielfile drauf zugreifen. ist unkomplizierter als sessions und eher zu empfehlen, wenns nur um eine simple übergabe geht.
____________________________________
"Life is like a box of rockets," said the Marine. "You never know what you´re gonna ret."
Then he pulled the trigger of his BFG9000.
RaistlinMajere ist offline   Mit Zitat antworten
Alt 06.08.2001, 14:08   #7
Who-T
Elite
 
Registriert seit: 01.08.2000
Beiträge: 1.395


Who-T eine Nachricht über ICQ schicken
Standard

@raistlin
ich brauch die vars über mehrere files hinweg.
das mit der übergabe ist mir klar, danke

@alibert1
hab das ganze jetzt über arrays gelöst
session_start hab ich im ersten file der insgesamt 13.
bei arrays reicht ein einfaches session_register ("arrayname") und ich hab das array die ganze session hinweg zur verfügung

nur bei objects hats nicht funktioniert
Who-T ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:29 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag