Session... doppeltes Login???

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

  • #16
    an dieser stelle wäre es schwachsinn. welche id willst du denn übergeben, wenn vor dem login noch gar keine session existiert?

    die session startest du sicher aerst auf der test/login.php, oder? So sollte es zumindest sein.

    und dann habe ich eben was von header gesehen (habe den thread nicht ganz gelesen). Dort musst du die ID angeben, weil sie ansonsten wieder verloren geht.

    Kommentar


    • #17
      es geht eigentlich nicht darum, eine sessionid zu übergeben.

      in dem script Login.php scheint ein fehler zu sein und zwar
      ist in der Variablen $_SESSION("user_userseite")
      zb. richtig die Seite "testseite.html" drin....

      aber

      header ("Location: " .$user_userseite );

      springt nicht beim ERSTENMAL dorthin, sondern erst, wenn ich ein zweitesmal mich einlogge. Obwohl jedesmal die Variable richtig ist.
      ich bleibe beim ersten mal einfach auf dem Loginscript stehen!

      Kommentar


      • #18
        in dem script Login.php scheint ein fehler zu sein und zwar
        ist in der Variablen $_SESSION("user_userseite")
        zb. richtig die Seite "testseite.html" drin....
        Hier begehst du den 1. Fehler: Dir wurde bereits gesagt, dass header() eine absolute URL erwartet. Änder das!

        header ("Location: " .$user_userseite );
        WO definierst du die Variable $user_userseite??? Wo überprüfst du den Inhalt?

        Übrigens: die SID musst du trotzdem an die URL anhängen. Da kannst du mir erzählen was du willst!

        Wenn du das alles berichtigt hast, wir dein Script laufen

        Kommentar


        • #19
          so..ich hab jetzt erstmal die URL in dem header abgeändert:

          PHP-Code:

            header 
          ("Location: htt://" $_SERVER['HTTP_HOST']
                                      . 
          rtrim(dirname($_SERVER['PHP_SELF']), '/\\'
                                      . 
          "/" $user_userseite ); 
          trotzdem ist es so, das das einlogscript bei jedem ERSTEN MAL einloggen nicht die Seite trifft.

          also $user_userseite scheint leer zu sein.

          ich habe das mal abgefragt indem ich den mal so geschrieben hab und überprüft habe was dann dort steht. Jedesmal wird mir die richtige Seite herausgeschrieben! aber der Header Befehl baut das nur NACH dem ersten einloggen ein!

          PHP-Code:
            echo $user_userseite;

            
          //header ("Location: [url]http://[/url]" . $_SERVER['HTTP_HOST']
            //                          . rtrim(dirname($_SERVER['PHP_SELF']), '/\\') 
            //                          . "/" . $user_userseite ); 
          noch eine kleine Frage ..... wie kann ich denn dann die phpsessid
          dort noch dranhängen? die syntax ist mir nicht ganz klar mit dem dranhängen


          Zuletzt geändert von pegasus; 05.10.2005, 15:52.

          Kommentar


          • #20
            genauso wie du jede x-beliebige var an einen string dranhängen kannst, kannst du auch eine Konstante (SID) anhängen.

            Wenn die Var leer ist, warum benutzt du sie dann? Und vorallem warum steht dein error_reporting noch nicht auf E_ALL? Regeln nicht gelesen? Zackig!

            Also, E_ALL und variable füllen.

            Kommentar


            • #21
              Vielleicht hab ich ja ein brett vorm Kopf heute ? :-)

              aber die Variable $user_userseite IST IMMER GEFÜLLT beim echo abfragen..daher nutze ich sie...in ihr steht die userseite auf die verlinkt werden soll.

              im echo wird sie jedesmal angezeigt, ABER der header Befehl nimmt sie nur bei dem Zweitenmal einloggen.


              ----> error_reporting(E_ALL); sorry, aber da kommen keine errors
              hab ich was falsch gemacht?

              Kommentar


              • #22
                aber die Variable $user_userseite IST IMMER GEFÜLLT beim echo abfragen..daher nutze ich sie...in ihr steht die userseite auf die verlinkt werden soll.

                im echo wird sie jedesmal angezeigt, ABER der header Befehl nimmt sie nur bei dem Zweitenmal einloggen.
                demnach ist die leere seite gar keine leere seite, sondern eine seite auf der ein Dateiname steht?

                Wie auch immer: Hast du mitlererweile mal die SID angehängt?

                Kommentar


                • #23
                  nein..hab ich noch nicht..ich weiß nicht wie die angehängt wird.
                  (ich hab erst damit angefangen..bin ANFÄNGER..menno)


                  und es ist keine leere datei.
                  die ist da, nur der browser zeigt mir folgendes an wenn ich den header
                  befehl aufrufe:

                  erstes mal einloggen: http://website/test/

                  zweites mal einloggen: http://website/test/testseite.html

                  jedesmal ist die $user_userseite mit testseite.html gefüllt

                  Kommentar


                  • #24
                    Du weißt doch offensichtlich, wie du eine variable (z.B. $user_userseite) an einen String (z.B. "/") anhängst. Das hast du zumindest schon gemacht, wenn du dir deinen Code mal ansiehst.

                    Da brauchst du jetzt nur noch die SID (laut session im Manual heißt die zugehörige Konstante genauso) anhängen. Möglichst mit nem "?" dazwischen.

                    Kommentar


                    • #25
                      ok...jetzt hoffe ich das die SessionID übergeben wird.

                      ich hab das mal so gemacht:

                      PHP-Code:
                        $PHPSESSID session_id();
                      //   echo $_SESSION["user_userseite"];
                      //   echo $PHPSESSID; 
                        
                      header ("Location: [url]http://[/url]" $_SERVER['HTTP_HOST']
                                                    . 
                      rtrim(dirname($_SERVER['PHP_SELF']), '/\\'
                                                    . 
                      "/" $user_userseite "?" $PHPSESSID); 

                      TROTZDEM bleibt es dabei: Beim ERSTEN einloggen
                      steht eben alles oben in der adressleiste des Browsers so wie ich will,
                      AUSSER die Variable $user_userseite..... die fehlt dann in der stelle.

                      gehe ich mit history zurück und logge mich nochmal ein, dann
                      klappt alles prima....???

                      lasse ich aber die Variablen mit echo abfragen und stoppe dann das script, indem ich den headerbefehl nicht ausführe...dann steht jedesmal ein Wert in der variablen $user_userseite. Die scheint also
                      IMMER gefüllt zu sein.

                      kann ich das irgendwie sicherstellen, das er immer diese variable hat? oder füllt?
                      Zuletzt geändert von pegasus; 06.10.2005, 13:52.

                      Kommentar


                      • #26
                        ok...jetzt hoffe ich das die SessionID übergeben wird.
                        Wie sieht denn die URL aus???

                        Kommentar


                        • #27
                          die url sieht so aus wie ich das schon gesagt habe:

                          beim ersten einloggen

                          http://website/test/?123a06c93430cbacb95c2515b166e475

                          und er landet dann auf der seite die er nicht erreichen soll..
                          nämlich der index.htm im directory test

                          beim zweiten einloggen

                          http://website/test/testseite.html?1...5c2515b166e475

                          und voila....alles so wie ich das will.....ABER eben nur beim Zweitenmal

                          Kommentar


                          • #28
                            Mich wundert daran nichts. Sollte es dich auch nicht.

                            Du hängst zwar die ID an, aber als Parametername. Nicht als Wert. Nicht umsonst erwähnte ich andauernd die Konstante SID. Bitte hänge diese an die URL an anstatt der bloßen ID.

                            Kommentar


                            • #29
                              Noch mal die Frage, die du bisher trotz mehrmaliger Nachfrage nicht beantwortet hast:
                              PHP-Code:
                                // Benutzerdaten in ein Array auslesen.
                                
                              $data mysql_fetch_array ($result);

                                
                              // Sessionvariablen erstellen und registrieren
                                
                              $_SESSION["user_id"] = $data["User"];
                                
                              $_SESSION["user_userseite"] = $data["Userseite"];
                                
                                
                              header ("Location: " .$user_userseite ); 
                              Wo bitte soll hier die Variable $user_userseite herkommen?

                              Du hast sie vorher im Script nirgends definiert, und beim auslesen aus der DB schreibst du den Wert aus dem Datensatz $data["Userseite"] in die Sessionvariable $_SESSION["user_userseite"].

                              Also woher zum Geier soll $user_userseite stammen, dass du da anschließend im header() benutzt?


                              (Dass es dann beim zweiten Aufruf vorhanden sein soll, würde ich mal mit einem Seiteneffekt von aktiviertem register_globals oder diesem "session sideeffect" bestimmer PHP-Versionen o.ä. erklären, welches den bereits in der Session liegenden Wert dann auch im globalen Scope unter seinem Index als Variablennamen bereitstellt ... aber das ändert nichts daran, dass deine Logik an dieser Stelle einfach blödsinnig ist.)
                              I don't believe in rebirth. Actually, I never did in my whole lives.

                              Kommentar


                              • #30
                                hmmm....sorry, aber das hab ich nicht verstanden...

                                offensichtlich ist mir hier der unterschied nicht klar...
                                weil meine kenntnisse dafür zu gering sind.


                                meinst du ich soll da irgendwie

                                $SID dranhängen ?

                                oder was meinst du denn mal genau?

                                Kommentar

                                Lädt...
                                X