Problem mit Loginscript

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

  • #16
    Nein, das bedeutet es natürlich nicht.

    Setzt einen (korrekten!) Location-Header NACHDEM die Session zerstört wurde.

    PHP-Code:
    <?php

    include_once('../config/login_funktionen.php');

    session_start();

    logout();

    header("Location: http://example.com");

    ?>
    und die beiden Zeilen

    PHP-Code:
    $tmp_sid session_id();
    session_destroy(); 
    Sollten eigentlich eher IN der logout()-Funktion stehen.
    Zuletzt geändert von TobiaZ; 29.05.2008, 20:59.

    Kommentar


    • #17
      Ok habe es jetzt so gemacht aber leider nimmt er das header nicht.

      Es bleibt eine eine weiße seite übrig also er bleibt in der logout.php!

      Meiner Meinung nach kann das Header nicht als letztes dort hin oder?

      Kommentar


      • #18
        aber leider nimmt er das header nicht.
        Das ist keine Problembeschreibung.

        Es bleibt eine eine weiße seite übrig also er bleibt in der logout.php!
        Das sollte in den seltensten Fällen vorkommen, da du zumindest eine Fehlermeldung erhalten solltest. Du hast doch unsere Regeln befolgt?

        Meiner Meinung nach kann das Header nicht als letztes dort hin oder?
        Doch! Weil du den Programmcode ja VOR der Weiterleitung ausführen willst.

        Ich erwähne jetzt nicht, dass davor natürlich keinerlei Ausgaben erfolgen dürfen.

        Kommentar


        • #19
          Moin,

          wieso ist das keine Problembeschreibung?
          Dies ist der Text:
          PHP-Code:
          <?php
          include_once('../config/login_funktionen.php');

          session_start();

          logout();

          header("Location: ../");

          ?>
          Naja und das Header macht es nicht er bleibt in der Logout. Nein es kommt keine Fehlermeldung.

          Ich weiß aber wenn ich das header an den anfang schreibe das er es dann macht aber da bin ich mir nicht sicher ob er die restlichen sachen abarbeitet.

          Versteh ich nicht!

          Kommentar


          • #20
            Nein es kommt keine Fehlermeldung
            Selber Schuld!

            Versteh ich nicht!
            Das solltest du dringenst ändern!!



            PHP-Code:
            error_reporting(E_ALL);
            ini_set('display_errors'TRUE); // evtl. hilfreich

            include_once('../config/login_funktionen.php');

            session_start();

            logout();

            header("Location: ../"); 
            Der Header entspricht nicht der HTTP Spezifikation!
            Wir werden alle sterben

            Kommentar


            • #21
              Hi danke für deine Antwort...habe den Fehler gefunden.
              Es lag an der Funktion.

              Das EXIT hat hier aufgehört und hat den header auf der Logout garnicht beachtet. Habe es jetzt so gelöst.

              logout.php
              PHP-Code:
              <?php
              session_start
              ();

              include_once(
              '../config/login_funktionen.php');
              logout();
              ?>
              login_funktionen.php
              PHP-Code:
              function logout ()
              {
               
              $tmp_sid session_id();
               
              session_destroy();

               
              $sql 'UPDATE event_user_login SET UserSession = NULL WHERE UserSession = \'' $tmp_sid '\'';
               if ( 
              mysql_query($sql) )
               {
               
              header('Location: ../');
               exit(
              mysql_error());
               }

              Da ich im Hauptverzeichnis die index.html liegt mit den Frames erscheint beim logout der untere Frame immer wieder. Also der Header in der Funktion geht ja ins Hauptverzeichnis zurück.

              Hättet ihr da noch eine Lösung bzw. ein Tipp?

              index.html
              PHP-Code:
              <frameset  rows="100%,17" frameborder="no" framespacing="0" noresize>
              <
              frame src="index_01.php" scrolling="auto" marginheight="0" marginwidth="0" name="index" noresize>
              <
              frame src="footer_frame.php" scrolling="no" marginheight="0" marginwidth="0" name="unten" noresize>
              </
              frameset
              Hättet ihr da ein Tipp?

              Kommentar


              • #22
                Klar, zwei gute Tipps:
                Vergiss die Lokationheader! Die brauchst du nicht.
                Vergiss die Frames! Die brauchst du nicht.
                Wir werden alle sterben

                Kommentar


                • #23
                  PHP-Code:
                  header('Location: ../');
                   exit(
                  mysql_error()); 
                  Eine allfällige MySql-Fehlermeldung wirst du so aber nie zu Gesicht bekommen. Da ist dir der Location-Header schon dazwischen gekommen.
                  Und dass der Location Header eine komplette URL inkl Protokoll erwartet wurde dir glaube ich schon mehrfach gesagt
                  Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                  [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                  Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                  Kommentar


                  • #24
                    Jo, aber es funktioniert.
                    Das mit den Frames nutze ich nur damit ich oben im header nur die Webseite sehe.

                    hmm...also gibt es keine alternative? Oder eventuell wie man es noch anders machen kann?

                    Danke euch trotzdem!

                    Gruß

                    Picard

                    Kommentar


                    • #25
                      Jo, aber es funktioniert.
                      Und Tabellen für Layout-Zwecke funzen wie Frames auch und trotzdem sollte man es nicht mehr verwenden. Und die Header-Sache ist klar gegen die entsprechenden Spezifikation, welche immer eine komplette URL verlangt
                      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                      Kommentar


                      • #26
                        Hmmm....das mit den Tabellen ist so ne sache...ich brauche unten eine kleine footer Zeile mit infos die immer unten steht und eine größe.

                        Naja und der Header ist da ein sehr schöner nebeneffekt.

                        Kommentar


                        • #27
                          Original geschrieben von Picard_Jean-Luc
                          Jo, aber es funktioniert.
                          Bergab funktioniert ein Auto auch ohne Sprit.

                          Das mit den Frames nutze ich nur damit ich oben im header nur die Webseite sehe.
                          Das kannst du auch anders lösen, so dass man deine Seite ordentlich bookmarken und als Suma ordentlich indizieren kann.

                          Kommentar


                          • #28
                            Hä?

                            Kommentar


                            • #29
                              Selber hä..
                              Naja und der Header ist da ein sehr schöner nebeneffekt.
                              Wobei du (wie schon selber bemerkt) mit deinen Frames, in Verbindung mit dem Header, in Sorgen rennst.

                              Vergiss beides und du hast deine Ruhe.
                              Wir werden alle sterben

                              Kommentar


                              • #30
                                Sorry aber das "HÄ" war auf oben weil ich den Comment nicht verstanden habe.

                                Ich denke auch das ich die Frames weg lassen sollte. Naja schade...


                                Danke euch trotzdem für die vielen Ideen! DANKE!

                                Kommentar

                                Lädt...
                                X