Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Session und register_globals

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Session und register_globals

    Hi Leute,

    habe PHP Version 4.4.0 und register_globals = off.

    Folgendes Problem:
    Ich habe mir eine Klasse geschrieben in der
    @session_start() usw. gemacht und die Session-Variablen mit Werten gefüllt werden.

    Wie kann ich jetzt aber aus meinem Hauptprogramm auf die Session-Variablen zugreifen???
    Und vor allem, wie kann ich die Session-ID an die URL ranhängen (z.B. bei Links). Wenn ich SID schreibe geht es nicht.

    Liegt das an register_globals oder daran, dass die session nur für die klasse gilt oder sowas in der richtung???

    Kann mir jemand helfen???

    thx, MFG
    dope_dope

  • #2
    Re: Session und register_globals

    Zitat von dope_dope
    Wie kann ich jetzt aber aus meinem Hauptprogramm auf die Session-Variablen zugreifen???
    Da das $_SESSION-Array global gültig ist, kannst du überall darauf zugreifen.

    Zitat von dope_dope
    Und vor allem, wie kann ich die Session-ID an die URL ranhängen (z.B. bei Links). Wenn ich SID schreibe geht es nicht.
    Die Konstante SID enthält eine leere Zeichenkette, wenn die Sessionid per Cookie weitergereicht wird. Deaktiviere also einfach mal Cookies und teste es dann nochmal.

    Kommentar


    • #3
      ansonsten belibt dir nix anderes übrig als die sid per hand abzufragen und anzuhängen

      also über:

      $var = session_id();

      Kommentar


      • #4
        oder hänge immer

        PHP-Code:
        <?php  
        echo '[url="datei.php?'.session_name().'='.session_i d().'"]link mit sid[/url]';  
        ?>
        auch ein Forum (PHP)

        Kommentar


        • #5
          Wozu sollte man sich die Arbeit machen und die Sessionid mit session_name() und session_id() anhängen, wenn es die Konstante SID gibt?

          Kommentar


          • #6
            die SID ist aber nur verfügbar, wenn Cookies nicht angenommen werden.
            auch ein Forum (PHP)

            Kommentar


            • #7
              Nein, die Konstante SID wird automatisch beim Aufruf von session_start() definiert. Lediglich der Wert ist davon abhängig, ob Cookies akzeptiert werden oder nicht.

              Kommentar


              • #8
                oder so, aber trotzdem sieht es schlecht aus, wenn in der URL so etwas da steht:

                http://localhost/index.php?var1=wert1&PHPSESSID=
                auch ein Forum (PHP)

                Kommentar


                • #9
                  Eben das steht da ja nicht, wenn du SID benutzt.

                  Kommentar


                  • #10
                    ok, hast recht, aber dann steht trotzdem noch ein ? da, weil das nicht in SID enthalten ist und ich es manuell drann hängen muss (datei.php?SID).
                    auch ein Forum (PHP)

                    Kommentar


                    • #11
                      Also momentan mache ich es so (wurde oben schon so ähnlich beschrieben). So klappt es, aber schön ist es nicht gerade:
                      Code:
                      <?php
                      // SID zusammenbauen
                      $SID = "PHPSESSID=" . $_GET['PHPSESSID'];
                      // Link
                      echo 'bla';
                      ?>
                      Was hat es mit
                      Code:
                      $var = session_id();
                      auf sich? Könnte ich damit mein $_GET... ersetzen bzw. wäre schiftis Beispiel besser als mein aktuelles?

                      Folgendes geht nicht (Fehler: "Use of undefined constant SID..."):
                      Code:
                      <?php
                      echo 'bla';
                      ?>
                      die Konstante SID wird automatisch beim Aufruf von session_start() definiert.
                      Wenn es eine Konstante ist, gilt sie dann nicht nur innerhalb der Funktion, in der sie erzeugt wird????

                      Auf das $_SESSION-Array kann ich übrigens überall zugreifen, wie es oben auch schon gesagt wurde.

                      Kommentar


                      • #12
                        Zitat von dope_dope
                        Folgendes geht nicht (Fehler: "Use of undefined constant SID..."):
                        PHP-Code:
                        echo '[url="bla.php?' SID '"]bla[/url]'
                        Dann wurde zu diesem Zeitpunkt session_start() noch nicht aufgerufen.

                        Zitat von dope_dope
                        Wenn es eine Konstante ist, gilt sie dann nicht nur innerhalb der Funktion, in der sie erzeugt wird????
                        Nein, eine Konstante ist global gültig und nicht nur in dem Kontext, in dem sie definiert wurde.

                        Kommentar


                        • #13
                          Stimmt, daran liegt es. Ich versuche erst die SID ranzuhängen und mach erst viel weiter unten im Coe session_start.

                          Big THX!!!

                          Kommentar

                          Lädt...
                          X