Ankündigung

Einklappen
Keine Ankündigung bisher.

header() ???

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

  • header() ???

    Servus ihr php proifs da draussen,

    ich habe (mal wieder) eine Frage. Ich habe schon bei php.net und per google sowie hier im forum mal gesucht doch so richtig aufgeklärt bin ich nicht. Deshalb frage ich nochmal direkt nach und hoffe das mir jemand helfen kann.

    Also, es geht um eine weiterleitung per php. Das kann man soweit ich weiss mit header(Location: url) verwirklichen. Der haken dabei ist aber das man vor der nutzung von header() keine ausgabe erzeugenden codezeilen haben darf. Ok, das ist ja noch nachvollziehbar. Doch da ist auch schon mein problem.

    Zum besseren verständnis erkläre ich mal wie mein system aufgebaut ist.
    Also, ich habe ein index.php (logisch). Der content wird per index.php?section=dateiname aufgerufen (z.B.: index.php?section=login).
    Die Variablen für den aufruf der "section" habe ich in einem array in der variablen.php definiert und in die index.php included. Soweit, so gut.

    So, jetzt habe ich die login datei aufgerufen per index.php?section=login
    Die eingegebenen Daten werden an die selbe datei geschickt und nur dann verarbeitet wenn alles korrekt ausgefüllt wird. Das funktioniert auch alles super. Doch nach der verarbeitung möchte ich eine neue Datei aufrufen lassen, sprich eine weiterleitung zum internen bereich den man logischerweise nur sieht wenn man eingeloggt ist. Und soweit ich das verstanden habe macht man das mit dem oben genannten befehl header(location: url).

    Also müsste ich jetzt nach der verarbeitung diesen befehl einfügen. Doch das funktioniert nicht da die index.php schon den header gesendet hat und ich somit mit der login.php nicht nochmal den hader senden kann.
    (P.S.: das Problem habe ich auch bei anderen dateien die mit dem selben prinzip aufgerufen und verarbeitet werden.)

    Hier meine Fehlermeldung:
    PHP-Code:
    WarningCannot modify header information headers already sent by (output started at /home/www/web37/html/tnkstuff/tnkcms/index.php:125in /home/www/web37/html/tnkstuff/tnkcms/login/login_check.php on line 46 
    Jetzt dachte ich ich muss irgendwie einen header in dex index.php definieren den ich dann je nach gebrauch und aufgerufener datei verändern kann. Doch wie? Oder wie genau funktioniert das denn jetzt alles? Wo habe ich evtl. fehler gemacht? oder hab cih das ganze prinzip von header() falsch verstanden? Bitte, helft mir, ich bin am verzweifeln.
    .visit » Tolga-Tanik.de
    .visit » TolgaTanikFoto @ Facebook
    .visit » Tolga Tanik Fotografie @ YouTube


  • #2
    header() funktionier NUR wenn noch keine Ausgabe erfolgt ist. Sobald eine Ausgabe erfolgt ist werden die Header-Informationen (Die ersten Bytes einer HTML Seite, die nur der Browser sieht und nicht der User) gesetzt und sin nicht mehr veränderbar.
    Im Header stehen z.B. so sachen wie Dateityp (jpg, html etc), Cache Behandlung oder auch eine Weiterleitung.

    Das heißt entweder musst du dein Script so umbauen, dass es möglich ist den Header vor der Ausgabe zu setzen oder du musst auf andere Weiterleitugsmethoden zugreifen (JS, Meta oder sogar einen einfachen HTML Link)

    Soweit mein Senf

    Kommentar


    • #3
      Für solche Fälle ist die Weiterleitung per meta-Tag immer am besten! Über JavaScript finde ich persönlich alles andere als elegant und es funktioniert nicht, wenn man JS deaktiviert hat. Die Weiterleitung per meta-Tag funktioniert eigentlich immer.

      Kommentar


      • #4
        also muss ich dann die html meta weiterleitung in die login.phpan die entsprechende stelle schreiben? das sollte doch eigentlich nur funktionieren wenn es sich im <head> </head> tag befindet dachte ich. Naja, ich werds versuchen. danke. ansonsten bleibt wohl wirklich nix übrig ausser ein normaler link.
        .visit » Tolga-Tanik.de
        .visit » TolgaTanikFoto @ Facebook
        .visit » Tolga Tanik Fotografie @ YouTube

        Kommentar


        • #5
          Ich glaube die Meta Weiterleitung wird nicht im Body Bereich funktionieren. Alternativ eine JS Weiterleiotung und zusätzlich (für Leute die JS ausgeschaltet haben) einen Link

          Kommentar


          • #6
            Das denke ich auch, das die meta weiterleitung nciht im body bereich funktionieren wird. deshalb bleibt mir wohl nix anderes übrig ausser einen html link zu erstellen. Schade!

            Trotzdem danke. Wenn doch noch jemand eine idee hat, bitte melden. Würde mich freuen.
            .visit » Tolga-Tanik.de
            .visit » TolgaTanikFoto @ Facebook
            .visit » Tolga Tanik Fotografie @ YouTube

            Kommentar


            • #7
              Deine Ausgabe in eine Funktion/Klasse kapseln

              Kommentar


              • #8
                Zitat von drieling Beitrag anzeigen
                Ich glaube die Meta Weiterleitung wird nicht im Body Bereich funktionieren.
                Alles Quatsch!!!
                Benutze das in praktisch jedem Login-Script. Man kann den Meta-Tag hinschreiben wo man will und es funktioniert. Mag dann vielleicht nicht ganz XHTML-Konform sein, aber wenns nur ne kleine Weiterleitungsseite ist, ist das ja nicht so dramatisch. Das wird auch genau so z.B. beim WoltLab Burning Board gemacht. Da würd überprüft, ob der Login korrekt ist und wenn das zutrifft, wird ne Meldung ausgegeben und mit der Meldung wird der Meta-Tag mittem im <body> irgendwo zwischen irgendwelchen divs etc eingefügt und man wird ganz normal weitergeleitet.

                Kommentar


                • #9
                  und wieder was dazu gelernt

                  Kommentar


                  • #10
                    stimmt, es funktioniert. Jetzt hab ich wenigstens ein problem weniger. Danke für den tipp. Hätt ichd as nur früher gewusst. Bin aber auch davona sugegangen das das nur im head bereich funktionier tund hab`s deshalb gar nicht erst ausprobiert. xD Danke!
                    .visit » Tolga-Tanik.de
                    .visit » TolgaTanikFoto @ Facebook
                    .visit » Tolga Tanik Fotografie @ YouTube

                    Kommentar

                    Lädt...
                    X