Veröffentlicht 16. April 200223 j Hi Ich habe folgenden Code geschrieben, der funzt aber ned: <?php function showVar () { echo $variable; } session_start(); echo "<html>\n"; echo "<head>\n"; echo "<title>test</title>\n"; echo "</head>\n"; echo "<body bgcolor=\"#FFFFFF\" text=\"#000000\">\n"; $variable = "TESTWERT"; showVar(); ?> [/PHP] Ich möchte einfach nur ne Variable in die Session schreiben und diese aus eine beliebigen Funktion aufrufen. Wo ist mein Fehler ? Gruß Erbeere P.S. Nein, dieses beispiel macht keinen Sinn, sollte nur ein Test sein um euch zu veranschaulichen, was bei mir ned funzt
16. April 200223 j Autor Hi Leider gar keine, er sagt mir zwar, dass die Variable registriert ist (wenn ich es nachfrage) aber gibt mir nichts aus als ob sie leer wäre ;( Erbeere
16. April 200223 j jo, logisch. in der funktion ist die variable $variable nicht definiert. die musst du uebergeben, sonst geht das net... oder als global definieren, aber das ist unschoen. <?php function showVar( $variable ) { echo $variable; } session_start(); echo( "<html>\n <head>\n <title>test</title>\n </head>\n <body bgcolor=\"#FFFFFF\" text=\"#000000\">\n" ); $variable = "TESTWERT"; showVar( $variable ); ?> [/php] so geht das.
16. April 200223 j Autor So will ich das aber ned Ich habe doch mit session_register ... die Variable in der Session gespeichert ! Auf die will ich zugreifen ! Erbeere
16. April 200223 j dann versuch das mal: <?php function showVar() { global $barney; echo $barney; } session_start(); $barney = "A big purple dinosaur."; session_register("barney"); echo( "<html>\n <head>\n <title>test</title>\n </head>\n <body bgcolor=\"#FFFFFF\" text=\"#000000\">\n" ); showVar(); ?> [/php] hab mal das beispiel von php.net genommen...
17. April 200223 j Ja, die Lösung lautet "global" Um auf Session-Variablen innerhalb von Funktionen zugreifen zu können, muß man - leider - die Variable als global innerhalb der Funktion deklarieren. Anders ginge es nur, wenn man auf das - ohnehin globale - Session-Array zugreift. Daß wird aber meiner Ansicht nach nur unübersichtlicher und macht letzten Endes das gleiche.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.