header(location:...) - Mehrfach senden? Alternativ lösung?!

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

  • header(location:...) - Mehrfach senden? Alternativ lösung?!

    Ich würde einfach gerne öfter diese funktion benutzten... ist das irgendwie möglich? Hat man die funktion
    header(location:?bla=supermist)
    einmal benutzt und ruft sie wieder auf gehts daneben.

    Ich brauche dies für folgendes:

    Ein User logt sich aus... logout.php wird geöffnet:

    PHP-Code:
    <?
    session_destroy();
    session_start();
    $statusmeldung = "Ausgelogt";
    session_register('statusmeldung');
    header(location:?cont=login);
    ?>
    In der Index passiert dann soetwas:
    PHP-Code:
    <?
    if(empty($statusmeldung){}
    else{ echo "Ausgelogt!";}

    include ($cont);
    [...]
    echo "<a href="?cont=logout">Logout</a>";
    ?>
    Logt der User sich nun erneut ein und anschließend aus gibts den Salat... Da dann - HEADER allready send und bla bla bla...

    Kennt wer eine alternative die man hier anwenden kann?!

  • #2
    Re: header(location:...) - Mehrfach senden? Alternativ lösung?!

    Ahoi!

    Probier es statt header(location:?cont=login); mal mit
    header("location: script.php?cont=login"); wobei script.php
    halt das Script ist, das du aufrufen möchtest...

    Du darfst vor dem header keine Ausgabe haben. Sonst funzt das nicht.

    Gruss

    Bernd
    mens agitat molem

    Kommentar


    • #3
      Nein daran liegt es nicht. Denn standartmäßig wird die index.php aufgerufen. Das Problem ist ja auch das man die Funktion HEADER nur einmal benutzten kann. Gibt es eine Möglichkeit den Browser dazu zu veranlassen bei Aufruf der Seite sofort eine andere Seite zu laden!?

      Kommentar


      • #4
        koennte dran liegen, das du gepfuscht hast

        PHP-Code:
        <?
        session_destroy();
        session_start();
        $statusmeldung = "Ausgelogt";
        session_register('statusmeldung'); // <--da fehlt ein $
        header(location:?cont=login);
        //das muss naemlich so aussehen, wenn ich nich grad total uebermuedet bin

        session_destroy();
        session_start();
        $statusmeldung = "Ausgelogt";
        session_register('$statusmeldung');
         header(location:?cont=login);
        ?>
        Bye

        CrazyAchmed

        Kommentar


        • #5
          header(location:?cont=login);
          sollte header("location:?cont=login");
          heissen.
          aber headers already sent bedeutet eigentlich nur, dass eine Ausgabe an den Brauser erfolgt bevor Du den header sendest. Darauf musst Du achten. Kein Zeichen zur Ausgabe schicken bevor der header gesendet wird.
          Beantworte nie Threads mit mehr als 15 followups...
          Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

          Kommentar


          • #6
            @CrazyAchmed: Du bist total übermüdet Variablen werden ohne $ eingetragen.

            @MelloPie: Jaja das war ein Tippfehler hier im Forum von mir in meiner Datei steht es richtig. Aber (!) - Beim ersten mal funktioniert das doch mit dem schicken - nur wenn man es nocheinmal versucht meckert er. Auf php.net steht ne menge dazu aber leider nicht das was ich suche... auch nicht in den Comments.

            Gibt es denn da keine JScript oder HTML lösung die sagt "in einer sekunde öffne "?cont=login"...." ?!

            Kommentar


            • #7
              hab das, was du geschrieben hast, nur ueberflogen, aber du willst ne weiterleitung, wie header, nur in HTML?

              in den head das hier reinpacken

              <META content="1; URL=seite.php" http-equiv=refresh>

              content=1 heisst, nach 1 sek wird die andere seite geoeffnet
              Bye

              CrazyAchmed

              Kommentar


              • #8
                Ja danke. Aber gibt es eine lösung die nicht im <head> Stehen muss?!

                Kommentar


                • #9
                  leg den headeraufruf so, dass nichts vorher am brauser ausgegeben wird.
                  Beantworte nie Threads mit mehr als 15 followups...
                  Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                  Kommentar


                  • #10
                    Original geschrieben von NiLS-Da-BuBi
                    Nein daran liegt es nicht. Denn standartmäßig wird die index.php aufgerufen.
                    ... aber nur im IE.

                    PS: das heißt Standard. Die Standarte ist ne Flagge zum Herumtragen.
                    mein Sport: mein Frühstück: meine Arbeit:

                    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                    Kommentar


                    • #11
                      Jaaa ist Stand of the Art. Naja und nur beim IE so!? Also ich dachte das wird Serverseitig konfiguriert - bei Apache kann man es doch einstellen, oder? Bei welchen Browsern ist das denn nicht so?


                      Und ich hab leider immernoch keine Lösung! Gibts den da nichts - ich gebe nun mal vorher etwas aus.... das muss auch so sein.

                      Kommentar


                      • #12
                        google meint, er fuehlt sich einsam...troeste ihn mit den worten

                        "weiterleitung" und "tutorial"
                        Bye

                        CrazyAchmed

                        Kommentar


                        • #13
                          Original geschrieben von NiLS-Da-BuBi
                          bei Apache kann man es doch einstellen, oder? Bei welchen Browsern ist das denn nicht so?
                          Uhm äähh ... jupp. Aber Netscape macht gelegentlich Probleme (trotz Servereinstellungen), wenn es zwar Parameter, aber keinen kompletten Dateinamen gibt.
                          Keine Ahnung, wieso, der tut das halt; proviers mal auf deinem localhost aus!
                          mein Sport: mein Frühstück: meine Arbeit:

                          Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                          Kommentar

                          Lädt...
                          X