session variablen werden nicht ausgegeben

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • session variablen werden nicht ausgegeben

    session variablen werden nicht ausgegeben obwohl die session
    registriert ist.
    Ich habe schon
    <?php echo $HTTP_SESSION_VARS["s_test"]; ?>
    und
    echo $s_test;
    probiert.
    Auf der Seite, auf der die session gestartet wird klappt genau diese
    Ausgabe der Variablen. (beide)
    Auf der zweiten Seite wird geprüft, ob die Session da ist.
    Da steht dann, das alles klar wäre. Mit der Variablenausgabe ist
    aber Essig.
    "ist registriert " (Ausgabe vom Script von Seite 2)
    if (session_is_registered("s_test")) {
    echo $HTTP_SESSION_VARS["$s_test"]."ist registriert";
    } else {
    echo "ist nicht registriert";
    }

    Seite 1: (Auszug)

    ...
    session_name("session");
    @session_start(session);
    session_register("s_test");
    $HTTP_SESSION_VARS["s_test"] = "test";
    echo $HTTP_SESSION_VARS["s_test"];
    ...

    Seite 2: (Auszug)

    ...
    session_name("session");
    @session_start(session); //die Zeile bitte wieder vor alle anderen
    if (session_is_registered("s_test")) {
    echo $HTTP_SESSION_VARS["$s_test"]."ist registriert";
    } else {
    echo "ist nicht registriert";
    }

    echo $HTTP_SESSION_VARS["s_test"];
    echo $s_test;
    ...

    Keine Variablen auf Seite 2.
    P.S. Omni 2.09 , XP , PHP4.2.2 !!!!NEIN! DOCH NUR 4.0.6!!!!
    php.ini Einstellung habe ich alles
    auf grün was man so kennt.

    Thanxx
    Zuletzt geändert von crisdoe; 11.08.2002, 10:57.

  • #2
    Probier mal dieses Testskript. Zählt der Counter rauf?
    PHP-Code:
    <?php
    session_start
    ();
    session_register"counter");
    $counter++;
    print 
    "Zählt der Counter rauf? <b>$counter</b><br><br><br>\n";
    print 
    "<a href=\"$PHP_SELF\">hier gehts weiter</A><br>";
    ?>

    Kommentar


    • #3
      Ja und Nein :-).

      Seite 1:

      Zählt der Counter rauf? 1


      hier gehts weiter


      Seite 2:

      Zählt der Counter rauf? 2


      hier gehts weiter

      Zähler zählt bis Seite 2, dann "vergisst" er die Session zu
      übergeben.
      Zuletzt geändert von crisdoe; 11.08.2002, 10:32.

      Kommentar


      • #4
        Ich bekomme diese Fehler nur, wenn vor
        session_start();
        irgendwas ausgegeben wird.
        Bist Dur Dir absolut, ganz sicher, daß das Test-Skript in der ersten Zeile mit <?php beginnt? Nicht etwa in der zweiten Zeile, dann würde ja bereits eine Leerzeile ausgegeben werden.


        Wenn ich im Testskript <?php in die zweite Zeile stelle bekomme ich den Error: Warning: Cannot send session cache limiter - headers already sent (output started at c:\wamp\apache\htdocs\test\c.php:2) in c:\wamp\apache\htdocs\test\c.php on line 3

        Stelle ich <? in Zeile 4:
        Warning: Cannot send session cache limiter - headers already sent (output started at c:\wamp\apache\htdocs\test\c.php:4) in c:\wamp\apache\htdocs\test\c.php on line 5

        Kommentar


        • #5
          1 <?php
          2 session_start();
          3 session_register( "counter");
          4 $counter++;
          5 print "Zählt der Counter rauf?<b>$counter</b><br><br>\n";
          6 print "<a href=\"$PHP_SELF\">hier gehts weiter</A><br>";
          7 ?>

          Das ist die Zeilensituation.

          Wie gesagt:
          Beim ersten Aufruf der Seite klapptz. Beim Sprung auf Seite 3
          vergisst er die Session weiterzugeben.

          Thanxx

          Kommentar


          • #6
            Wenn Du nachträglich fundamentale Inhalte Deiner Threads änderst stehen meine Antworten ganz zusammenhanglos da und keiner kennt sich mehr aus.

            Du mußt ja was getan haben, daß die Header-Fehlermeldungen weg sind.

            Kommentar


            • #7
              Mach bitte ein phpinfo.php
              <?
              phpinfo();
              ?>
              ruf es auf, und such dort nach "session"
              wie sind bei Dir die Session-Optionen gesetzt?
              Code:
              session
              
              Session Support enabled 
              
              Directive 		Local Value Master Value 
              session.auto_start  	Off 		Off 
              session.cache_expire  	180 		180 
              session.cache_limiter  	nocache 	nocache 
              session.cookie_domain  	no value 	no value 
              session.cookie_lifetime 0 		0 
              session.cookie_path 	/ 		/ 
              session.cookie_secure 	Off 		Off 
              session.entropy_file 	no value 	no value 
              session.entropy_length 	0 		0 
              session.gc_maxlifetime 	1440 		1440 
              session.gc_probability 	1 		1 
              session.name 		PHPSESSID PHPSESSID 
              session.referer_check 	no value 	no value 
              session.save_handler 	files 		files 
              session.save_path 	C:\TEMP 	C:\TEMP 
              session.serialize_handler php 		php 
              session.use_cookies 	On 		On 
              session.use_trans_sid 	1 		1
              Ist es Dein Server, hast Du Zugang zur php.ini

              Kommentar


              • #8
                Sorry....
                Ich komme mir leider auch ziemlich verloren vor. Erst kommen die Fehlermeldungen mit, dann ändere ich etwas, dann
                sind die Fehlermeldungen weg, aber auch keine Sessions mehr
                da. Also alles auf Anfang und da geht es auf einmal.....

                Keinen blassen Schimmer was da abgeht.

                P.S. das Skript, bei dem Ich heute nacht da Problem hatte (ohne
                Fehlermeldung) gibt jetzt Fehler aus...

                Kommentar


                • #9
                  session
                  Session Support enabled

                  Directive Local Master
                  session.auto_start Off Off
                  session.cache_expire 180 180
                  session.cache_limiter nocache nocache
                  session.cookie_domain no value no value
                  session.cookie_lifetime 0 0
                  session.cookie_path / /
                  session.cookie_secure Off Off
                  session.entropy_file no value no value
                  session.entropy_length 0 0
                  session.gc_maxlifetime 1440 1440
                  session.gc_probability 1 1
                  session.name PHPSESSID PHPSESSID
                  session.referer_check no value no value
                  session.save_handler files files
                  session.save_path C:/httpd/tmp C:/httpd/tmp
                  session.serialize_handler php php
                  session.use_cookies On On

                  Server: XP, Omnihttp 2.09, PHP 4.0.6, steht neben mir.
                  Zuletzt geändert von crisdoe; 11.08.2002, 10:55.

                  Kommentar


                  • #10
                    PHP hat einige ärgerliche Bugs was das registrieren von Session Variablen angeht.

                    Wenn register_globals aktiviert ist, muss man session_register() benutzen, wenn es deaktiviert ist, muss man $HTTP_SESSION_VARS['var'] = "value"; benutzen. ;(
                    [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
                    [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
                    [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

                    © Harald Schmidt

                    Kommentar


                    • #11
                      Existiert physisch das Verzeichnis: "C:/httpd/tmp" wenn nein lege es bitte an.

                      Dann setze in php.ini im Abschnitt [session] folgenden Wert
                      PHP-Code:
                      ; use transient sid support if enabled by compiling with --enable-trans-sid.
                      session.use_trans_sid 
                      Apache restarten und nochmal probieren

                      Kommentar


                      • #12
                        Danke Master Troublegum.

                        Hey! Cooler Einsatz...

                        S´Klappt!

                        VIELEN DANK...

                        Kommentar


                        • #13
                          Danke Master Troublegum.

                          Hey! Cooler Einsatz...

                          S´Klappt!

                          VIELEN DANK...

                          Danke auch an Master Hand!

                          P.S. Das Verzeichnis existiert; Omni nicht Apache.

                          Lösung war:

                          PHP hat einige ärgerliche Bugs was das registrieren von Session Variablen angeht....

                          Kommentar


                          • #14
                            Original geschrieben von crisdoe
                            1 <?php
                            2 session_start();
                            3 session_register( "counter");
                            4 $counter++;
                            5 print "Zählt der Counter rauf?<b>$counter</b><br><br>\n";
                            6 print "<a href=\"$PHP_SELF\">hier gehts weiter</A><br>";
                            7 ?>

                            Das ist die Zeilensituation.

                            Wie gesagt:
                            Beim ersten Aufruf der Seite klapptz. Beim Sprung auf Seite 3
                            vergisst er die Session weiterzugeben.

                            Thanxx
                            übergibst du denn überhaupt die session?
                            like this?
                            PHP-Code:
                            <a href='<?=$PHP_SELF?>?PHPSESSID=<?=session_id()?>'>
                            transid tut manchmal ganz schön autsch (besonders wenn ne site auf nen anderen server portiert wird, auf dem's abgeschaltet ist)...

                            beebob
                            Zuletzt geändert von beebob; 11.08.2002, 17:24.

                            Kommentar


                            • #15
                              Wenn register_globals aktiviert ist, muss man session_register() benutzen, wenn es deaktiviert ist, muss man $HTTP_SESSION_VARS['var'] = "value"; benutzen. ;(

                              Aber $HTTP_SESSION_VARS['var'] funktioniert doch auch wenn
                              register_global auf ON ist oder???

                              Newsscript, FAQ, Bildergalleire, Gästebücher und andere Php-Scripte unter Sky-Scripts.de

                              Kommentar

                              Lädt...
                              X