hi,
Damit hast du schon verloren und bekommst die vielzitierte "Cannot send headers"-Fehlermeldung, denn header() muss vor sämtlichen Ausgaben aufgerufen werden, wozu auch die Zeichen im HTML-Modus (oder Nicht-PHP-Modus, also außerhalb von <?php ?>) gehören.
Hab schon gehört von dieser schönen Fehlermeldung. Aber die bekomme ich nicht. Warum nicht, schau mal:
<?php
/* hier hab ich das was die Datei außer HTML-Ausgaben macht, nämlich den Anmeldeprozess mit Sessionaufbau und Umleitung sowie ajax-Responsen ausgeben. Die Umleitung und jede Ajax-Response beinhaltet die Funktion header(); und endet nach some statements mit exit();
Hier im Oberteil der PHP-Datei werden nur Parameter geparst. Es wird also als Erstes abgefragt, ob überhaupt Parameter gesendet wurden. */
if($_GET || $_POST){
// Parameterhandling
}
else{
// nothing to do
}
?>
<!-- Ab hier steht HTML und welche Seite gezeigt wird, ist davon abhängig, ob eine gültige Session besteht oder nicht (bischn php). -->
Genauso baue ich meine Anwendungen (mit oder ohne Ajax) mit Perl, also immer erst eine Kontrolstruktur, wo Parameter abgefragt werden; dann erst das HTML-Zeugs (je nach Parameter).
Rolf