Immer eine neue Session ID

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

  • Immer eine neue Session ID

    Hallo!
    Ich habe folgenes Skript auf meiner Seite:

    PHP-Code:
    <?PHP
    session_start
    ();  //startet Session
    echo session_id();   //gibt Session ID aus
    echo '<br>';
    echo 
    $PHPSESSID;   //müsste auch Session ID ausgeben, tuts aber nicht
    ?>
    <body>

    <p><a href="test.php">weiter</a></p>
    </body>
    Jetzt habe ich aber immer das Problem, dass jedesmal wenn ich die Seite neu aufrufe ohne den Browser zuschießen, bekomme ich immer eine neue Session ID.
    Eigentlich überprfüft doch session_start ob eine Session existiert und falls ja führt er sie weiter, oder nicht?

    Mein Provider united-domains meinte erst, dass läg an ihnen, dann aber auf einmal hätte ich was falsch programmiert!

    Ist daran was falsch???

    wenn ich das so programmiere:
    PHP-Code:
    <?PHP
    session_start
    ();    //startet Session
    echo $PHPSESSID//gibt Session ID aus oder auch nicht (wie in diesem Fall)
    ?>
    <body>

    <p><a href="test.php">weiter</a></p>
    </body>
    wird gar nix mehr ausgegeben!!!
    Ich hab auch mal in den Cookies geguckt, da wird gar keiner erzeugt.
    Bin ich nur zu dumm oder spinnt deren Server???
    Als ich das mal auf meinem Apache-Server getestet hab, hat das funktioniert und ich hab nicht immer eine neue Session_ID bekommen.
    Danke für eure Hilfe!

    Dominic

    P.S. Das Beispiel ist eigentlich von selfPHP umd müsste funktionieren.
    Zuletzt geändert von jaegermeister; 17.02.2006, 22:59.

  • #2
    Lies die Sticky-Threads hier, am besten gleich alle!

    Kommentar


    • #3
      so besser formatiert? Sonst noch verstöße? *ggg* bin lernbereit ;-)

      Ich will eigentlich auch nicht den genauen Fehler wissen, nur ob das eigentlich so funktionieren müsste, oder nicht!

      Danke!

      Kommentar


      • #4
        such mal nach 'register globals'. sollte dir erstmal klarmachen, warum $PHPSESSID nur manchmal zur verfügung steht.

        Kommentar


        • #5
          also register_globals steht auf ON

          Kommentar


          • #6
            Den obersten Sticky hast du wohl ausgelassen, den mit "Cannot modify header information" im Titel?!

            Kommentar


            • #7
              Lass dir doch mal mit session_name() den Namen der Session ausgeben.

              Fesgelegt in php.ini: session.name

              Auch daran gedacht, Cookies zu aktivieren?
              Eventuell auch mal die Session via URL mit übergeben:

              PHP-Code:
              @session_start();    //startet Session
              echo session_name()."=".session_id(); //gibt Session ID aus
              echo '<p><a href="test.php?'.session_name().'='.session_id().'">weiter</a></p>'
              Theoretisch (!) sollte das funktionieren. Die Beispiele für die Sessions in Self-PHP sind leider nicht sooo prickelnd. Schau dir mal die Beispiele auf php.net an. Die sind glaube ich etwas aktueller. http://www.php.net/manual/de/ref.session.php

              Kommentar


              • #8
                So habs hinbekommen. Muss session_start() noch vor dem html Header schreiben, dann geht das. Komischer weise ging das aber auf meinem Apache Server auch, als das nach dem Header stand.
                Könnten die bei selfPHP ruhig mal rein schreiben.
                Außerdem hätten die mir das von United-Domains mal sagen können, die haben mir den Quelltext zwar verbessert und meinten, so würde es funktionieren, aber hat es trotzdem dann nicht. ->> also auch keine Ahnung!

                Wäre gut wenn das einer mal in den Artikel dazu schreibt, dass das ganze auch für session_start() gilt.
                Ich dachte nämlich, als ich den Artikel gelesen hab, dass der mich nicht betrifft.

                Danke für die Hilfe!!!

                Kommentar


                • #9
                  Original geschrieben von jaegermeister
                  So habs hinbekommen. Muss session_start() noch vor dem html Header schreiben, dann geht das. [...] Könnten die bei selfPHP ruhig mal rein schreiben.
                  Warum holst du dir Informationen aus einer derart zweifelhaften Sekundärquelle?
                  Hättest du gleich im offiziellen Manual nachgeschaut, hättest du den Hinweis dort auch überdeutlich gefunden.
                  Komischer weise ging das aber auf meinem Apache Server auch, als das nach dem Header stand.
                  output buffering.
                  Außerdem hätten die mir das von United-Domains mal sagen können, die haben mir den Quelltext zwar verbessert und meinten, so würde es funktionieren, aber hat es trotzdem dann nicht. ->> also auch keine Ahnung!
                  Dass du von deinem Webhoster nicht unbedingt den Service erwarten kannst, deine mangelhaften Scripte zu verbessern, sollte klar sein ...
                  Wäre gut wenn das einer mal in den Artikel dazu schreibt, dass das ganze auch für session_start() gilt.
                  Wie gesagt, Manual lesen wäre auch gut ...
                  Ich dachte nämlich, als ich den Artikel gelesen hab, dass der mich nicht betrifft.
                  Ja klar - onemorenerd verweist dich darauf sicher nur so zum Spaß.
                  Außerdem ist die Fehlermeldung nahezu identisch - da erfordert es wohl nicht mehr allzu viel Denkarbeit, daraus zu schließen, dass auch die Ursache die gleiche sein könnte.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    Außerdem ist die Fehlermeldung nahezu identisch - da erfordert es wohl nicht mehr allzu viel Denkarbeit, daraus zu schließen, dass auch die Ursache die gleiche sein könnte.
                    Fehlermeldungen hatte ich ja nicht! Deshalb dachte ich ja auch, dass es nicht an mir liegt.

                    Dass du von deinem Webhoster nicht unbedingt den Service erwarten kannst, deine mangelhaften Scripte zu verbessern, sollte klar sein ...
                    Dann sollen sie wenigstens ihren Mund halten und nicht so tun als wenn sie Ahnung hätten.

                    Kommentar

                    Lädt...
                    X