Ankündigung

Einklappen
Keine Ankündigung bisher.

session_start()

Einklappen

Neue Werbung 2019

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

  • session_start()

    Hi,
    ich hab ein Problem mit der sessionfunktion und hab keine Ahnung woran das liegt.
    Also mein Problem ist, dass wenn ich versuche eine session zu starten, dann startet die erst gar nicht!
    Und wenn ich der session über session_name() einen Name gebe startet die Funktion, aber auflösen mi session_destroy() lässt sie sich nicht.


  • #2
    Kriegst du denn eine Fehlermeldung?
    Wenn nicht, füge mal folgendes ganz oben in dein Script ein:
    PHP-Code:
    error_reporting(E_ALL); 
    und dann schau nochmal, ob du immernoch keinen Fehler kriegst!

    Kommentar


    • #3
      Also mit error_reporting(E_ALL); kommt sowas

      Code:
      Notice: Undefined variable: _SESSION in H:\PortableApps\XAMPPlite\htdocs\session2.php on line 10
       
      Notice: Undefined variable: _SESSION in H:\PortableApps\XAMPPlite\htdocs\session2.php on line 11
       
      Warning: session_destroy() [function.session-destroy]: Trying to destroy uninitialized session in H:\PortableApps\XAMPPlite\htdocs\next.php on line 13
      Im vorigen Skript habe ist das:
      PHP-Code:
      <?php
      error_reporting
      (E_ALL);
      session_start();
      $_SESSION['erste'] = 'erste';
      $_SESSION['zweite'] = 'zweite';
      echo 
      '<a href=session2.php>LINK</a>';
      ?>

      Kommentar


      • #4
        Schau mal mit phpinfo() oder in der php.ini nach, ob du Sessions überhaupt aktiviert hast! Ist eigentlich standardmässig so, aber wer weiss, hab schon die "verrücktesten" Konfigurationen gesehen!
        In deinem Code sehe ich nämlich gerade keinen Fehler! Die Fehlermeldungen zu $_SESSION lässt drauf schliessen, dass er session_start() nicht ausführt!

        Kommentar


        • #5
          Nein die session-funktionen sind aktiviert.

          Auszug aus php.ini
          Code:
          Session Support  enabled  
          Registered save handlers  files user sqlite  
          Registered serializer handlers  php php_binary wddx  
          Directive Local Value Master Value 
          session.auto_start Off Off 
          session.bug_compat_42 On On 
          session.bug_compat_warn On On 
          session.cache_expire 180 180 
          session.cache_limiter nocache nocache 
          session.cookie_domain no value no value 
          session.cookie_httponly Off Off 
          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_divisor 100 100 
          session.gc_maxlifetime 1440 1440 
          session.gc_probability 1 1 
          session.hash_bits_per_character 4 4 
          session.hash_function 0 0 
          session.name PHPSESSID PHPSESSID 
          session.referer_check no value no value 
          session.save_handler files files 
          session.save_path H:\Apache\tmp H:\Apache\tmp 
          session.serialize_handler php php 
          session.use_cookies On On 
          session.use_only_cookies Off Off 
          session.use_trans_sid 0 0
          Ich erkenne keinen Fehler.

          Kommentar


          • #6
            Meine Einstellungen sehen gleich aus, ausser, dass ich 0 und 1 für off und on verwende! Deshalb weiss ich jetzt leider gerade auch nicht, woran es sonst noch liegen könnte!

            Kommentar


            • #7
              Zitat von PTC
              Im vorigen Skript habe ist das:
              Was heißt im "vorigen"?
              Was genau steht in H:\PortableApps\XAMPPlite\htdocs\session2.php und in H:\PortableApps\XAMPPlite\htdocs\next.php? Die entsprechenden Zeilen 10,11 und 13 markieren.

              Kommentar


              • #8
                Das heisst in Zeile 10 und 11 steht:
                echo $_SESSION['erste'];
                echo $_SESSION['zweite'];

                Zeile 13:
                session_destroy();

                Kommentar


                • #9
                  Rufst Du in session2.php auch session_start() auf?

                  Kommentar


                  • #10
                    Nein, ich rufe nicht noch mal session_start() auf.
                    Weil ich gelernt habe das dadurch ein fehler auftreten soll.

                    Kommentar


                    • #11
                      Zitat von PTC Beitrag anzeigen
                      Nein, ich rufe nicht noch mal session_start() auf.
                      prinzipiell muss session_start auf jeder seite (ganz oben) stehen, auf der sessions verwendet werden.
                      dann sollte es auch funktionieren.

                      Zitat von PTC Beitrag anzeigen
                      Weil ich gelernt habe das dadurch ein fehler auftreten soll.
                      und die erde ist eine scheibe
                      Karteikasten
                      "Es gibt auch Linux-Aussteiger. Aber die Rückfallquote steigt mit jeder Win-Version." - Walter Saner in de.newusers.questions

                      Kommentar


                      • #12
                        Also ich rufe session_start() immer nur in der index.php auf und dann werden ne Menge Dateien included (mit Klassen für Login, Userverwaltung und so weiter und so fort), wo überall auch mal wieder Session-Variablen vorkommen und da führe ich nie session_start() aus und es funktioniert trotzdem. 2x session_start() führt eigentlich zu einer Warning wenn nicht sogar Error.

                        Kommentar


                        • #13
                          Ich vermute, dass in session.php ein Link ausgegebn wird, der auf session2.php verweist. Dann läuft das also über zwei HTTP Requests und dann muss in session2.php auch wieder session_start() aufgerufen werden.

                          Kommentar


                          • #14
                            OK mit session_start() am Anfang klappst auch!!
                            Danke für eure Hilfe.

                            Kommentar


                            • #15
                              Ich habe gelernt, dass session_start() aufgerufen werden muss, um auf die gesetzten session variablen überhaupt zugreifen zu können.
                              Vielleicht ist es das, den bei mir funktioniert es.

                              Kommentar

                              Lädt...
                              X