• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Wie gebe ich etwas vor einer Weiterleitung aus?

Hansii

Mitglied
Hallo.

Ich weiß, dass man vor einer Weiterleitung mit PHP (header) nichts ausgeben kann (echo).

Nun habe ich folgenden Code:

PHP:
<?php

include($_SERVER['DOCUMENT_ROOT'] . "/include/style.inc.php");

header("Location: /index.php");

?>

In der style.inc.php steht folgendes:

PHP:
echo '<link rel="stylesheet" type="text/css" href="'.$pfad.'" />';

Ich binde also vor dem Header eine Datei ein, die ein Stylesheet einbindet. Wenn ich Sie direkt einbinde (die style.css) brauche ich ja auch ein echo, denn ich will 100% PHP.

Was kann ich machen?

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /mnt/webi/e0/81/53393381/htdocs/include/style.inc.php:3) in /mnt/webi/e0/81/53393381/htdocs/include/session.inc.php on line 3 Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /mnt/webi/e0/81/53393381/htdocs/include/style.inc.php:3) in /mnt/webi/e0/81/53393381/htdocs/include/session.inc.php on line 3 Warning: Cannot modify header information - headers already sent by (output started at /mnt/webi/e0/81/53393381/htdocs/include/style.inc.php:3) in /mnt/webi/e0/81/53393381/htdocs/profil/login.php on line 45
 
Werbung:
Wieso willst Du überhaupt noch ein stylesheet einbinden, wenn Du die Seite sofort verlässt?
 
Du solltest header() vor dem include() einbauen - das wäre das einfachste.

Alternativ könntest Du auch mit ob_start() die Ausgabe generell unterdrücken, vor header() die Ausgabenunterdrückung deaktivieren und nach dem Header die unterdrückten Ausgaben anzeigen. Das macht jedoch vom Ablauf her keinerlei Sinn da Du bei Verwendung von einer header()-Weiterleitung ohnehin keinerlei Ausgabe an den Browser schickst.
 
Werbung:
@thuemmy: Davor ist natürlich auch noch Code !!!

@theadi: Danke !!!


///EDIT: 18:22
 
Zuletzt bearbeitet:
Werbung:
Außer die Weiterleitung soll nach x Sekunden stattfinden, hat das Ganze keinen Sinn, da Browser bei einer Header-Weiterleitung gar nichts rendern müssen. Solltest du das mit ein paar Sekunden machen wollen, gibt es dafür ein Meta-Tag-Attribut:
HTML:
<meta http-equiv="refresh" content="10;URL=/index.php">

Das leitet auf /index.php nach 10 Sekunden weiter.
 
Zurück
Oben