Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Frage zu ob_start() [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Frage zu ob_start()


 
lx-club
12-12-2004, 16:06 
 
hallo,

ich binde auf jeder seite zuerst den header ein. darin stehen natürlich ausgaben. auf einer inhaltsseite möchte ich mittels header("Location:...) weiterleiten, aber da in dem header ausgaben drin sind bekomm ich ne fehlermeldung. nun wollte ich dies umgehen mittels ob_start() und dann vor meinem footer ob_end_flush().

meine frage nun, da der header überall eingebundwn ist, und ich daher auch diese funktion immer mit drin habe, obwohl ich sie ja nicht immer in jeder inhaltsseite brauche, hat das irgendwelche negativen auswirkungen?

 
Abraxax
12-12-2004, 16:14 
 
warum includest du den header nicht erst dann, wenn alle anderen operationen via header() abgeschlossen sind?

 
lx-club
12-12-2004, 16:23 
 
die seite ist bei mir so aufgebaut:

include(HEADER);

include(CONTENT)
// in dem Fall admin.php
// in der ich header("Location: ...") ausführen will

include(FOOTER)

daher weiss ich keine andere lösung.

 
derHund
12-12-2004, 16:29 
 
daher weiss ich keine andere lösung. lies Abraxax' frage und beantworte sie ... auch wenn es eine rhetorische war.

laß den inhalt kopf und fuß includen, fertig. ist imho die bessere lösung.

 
lx-club
12-12-2004, 16:32 
 
ja sorry, hab wohl zu früh geschrieben, is jetzt klar wie es gemeint war

 
Abraxax
12-12-2004, 16:41 
 
warum machst du es nicht einfach ....
header.inc.php<?php echo 'header'; ?>
footer.inc.php<?php echo 'footer'; ?>
content.php<?php
if (dies und das)
header(...)

$content = 'der content';

if (was anderes)
mache irgendwas anders ....

include 'header.inc.php';

echo $content;

include 'footer.inc.php';
?>


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:26 Uhr.