AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP] headers already sent by

Ein Thema von Luckie · begonnen am 24. Mär 2010 · letzter Beitrag vom 24. Mär 2010
Antwort Antwort
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

[PHP] headers already sent by

  Alt 24. Mär 2010, 22:26
Ich habe ein kleines Koordinationspronblem.

Code:
function getURLParams(){
    $params = $_GET['dir'];
    if (!isset ($params))
        $params = "./";
    if (!file_exists($params)){
       header("HTTP/1.0 404 Not Found");
       die();
    }
    return $params;
}

?>

<html>
    <body>
       



            <?php
            $dir = getURLParams();
Logisch, was passiert. Wenn das Verzeichnis nicht existiert, soll ein 404 gesendet werden. Allerdings ist zu dem Zeitpunkt der eigentliche Header ja schon verschickt worden.

Wie kann man das am geschicktesten lösen?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#2

Re: [PHP] headers already sent by

  Alt 24. Mär 2010, 22:52
Code:
function getURLParams(){
    $params = $_GET['dir'];
    if (!isset ($params))
        $params = "./";
    if (!file_exists($params)){
       header("HTTP/1.0 404 Not Found");
       die();
    }
    return $params;
}

 $dir = getURLParams();

?>

<html>
    <body>
       



            <?php
           // Was mit $dir anstellen
Edith: Das wäre eine Möglichkeit. Geschickt wäre natürlich ein Template-System.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: [PHP] headers already sent by

  Alt 24. Mär 2010, 22:58
Oh, ich wusste nicht, dass die Stelle schon vorher abgearbeitet wird. Danke, so funktioniert es.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#4

Re: [PHP] headers already sent by

  Alt 24. Mär 2010, 23:44
Das Problem tritt dann auf, sobald du die erste Ausgabe machst.
Da reicht sogar schon ein Leerzeichen oder Zeilenumbruch.
Umgehen kann man das durch keine Ausgaben vorher machen oder alternativ kann auch das Outputcaching angeschaltet werden.

ob_* Funktionen
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#5

Re: [PHP] headers already sent by

  Alt 24. Mär 2010, 23:54
Besser ists aber, wie MuhKuh erwähnt hat, mit Templates zu arbeiten. Ich nutze zurzeit das Yii-Framework und das zeigt das hervorragend. Kann bei Bedarf gerne Code liefern, wenn dies gewünscht Hab diese Technik mal für ein kleines Projekt abgekupfert und Layout vom Content getrennt. Content liegt bei mit teilweise auch in HTML vor und wird dann in eine Variable geladen, dann ins Template eingesetzt.

// edit
Hätte ich ein wenig mehr darüber nachgedacht, so hätte ich bemerkt, dass das genau die Technik ist, die generic hier anmerkt
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: [PHP] headers already sent by

  Alt 24. Mär 2010, 23:57
Ich glaube, es hat sich erledigt. Ich werde wohl doch bei meinen Apache DirectoryListings bleiben. Außerdem wäre mir ein Templatesystem zu viel Overhead, denke ich.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz