Hallo
In Zeile 32 steht genau das:
Header("Location: ".$_POST['Redirect']);
In Zeile neun steht nur das:
<?phpUnd _davor_ steht was?
Vor header hat _jegliche_ Ausgabe zu unterbleiben (oder muss abgefangen werden).
Alles ausserhalb des <?php ... ?>-Bereiches zählt als Ausgabe, und auch Leerzeichen/-Zeilen etc. sind Ausgabe.OKAY.. Davor steht das:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
...
Was war an snafus Anmerkung "Sorge dafür, dass der PHP Code als erstes verarbeitet wird und erst dann die Ausgabe erfolgt" sowie an wahsagas oben zitierten Sätzen "Vor header hat _jegliche_ Ausgabe zu unterbleiben (oder muss abgefangen werden)." und "Alles ausserhalb des <?php ... ?>-Bereiches zählt als Ausgabe, und auch Leerzeichen/-Zeilen etc. sind Ausgabe." so unverständlich?
Sobald auch nur _ein_ zur Darstellung im Browser vorgesehenes Zeichen an jenen gesandt wurde, ist der Zug für header() abgefahren (Ausnahme ist die Pufferung des Outputs mit ob_start() und ob_end_flush()).
Wenn du vor jeglicher Ausgabe von für den Browser vorgesehenen Zeichen deine Prüfung mit eventuell vorgesehener Umleitung vornimmst und erst danach den HTML-Teil ausgibst, erledigt sich das Problem.
Beispiel:
<?php
if (isset($_POST["bla"]))
{
$blubb = "irgendwas";
}
else
{
header("http://www.example.com/trallalla.php");
}
?>
<DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Kommentar senden</title>
</head>
<body>
<!-- ... -->
Tschö, Auge
Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
(Victor Hugo)
<dingdong /><dingdong /><toc /><toc /><toc /><shout>Florence!</shout>
Veranstaltungsdatenbank Vdb 0.1