![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Elite
![]() |
![]() 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; |
![]() |
![]() |
![]() |
#2 |
Alter Sack
![]() Registriert seit: 19.09.1999
Ort: An der schönen alten Donau
Alter: 53
Beiträge: 1.579
|
![]() In try2.php musst Du die session starten, also mit:
session_start (); |
![]() |
![]() |
![]() |
#3 |
Inventar
![]() Registriert seit: 06.04.2001
Alter: 44
Beiträge: 2.343
|
![]() 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. |
![]() |
![]() |
![]() |
#4 |
Elite
![]() |
![]() 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 |
![]() |
![]() |
![]() |
#5 |
Alter Sack
![]() Registriert seit: 19.09.1999
Ort: An der schönen alten Donau
Alter: 53
Beiträge: 1.579
|
![]() 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. |
![]() |
![]() |
![]() |
#6 |
Inventar
![]() Registriert seit: 06.04.2001
Alter: 44
Beiträge: 2.343
|
![]() 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. |
![]() |
![]() |
![]() |
#7 |
Elite
![]() |
![]() @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 |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|