ThWboard Support-Forum (Archiv)

Ort: / Boardübersicht / PHP / MySQL Probleme / Header Problem


Seite 1 von 1

PhilosophGR schrieb am 12.04.2003 um 12:52 Uhr

Ich bekomme immer den selben Fehler:
"Cannot modify header information - headers already sent by..."

<?

session_start();

include ("Lehrerforum/Verbindung/Verbindung.inc")
?>
<?


if ((!isset($username)) OR (!isset($passwort)))
{
die ("Sorry, aber ohne Name bzw Passwort gehr hier nichts!");
}

$query = "select passwort from tlehrer where username ='".$username."'";
$result = mysql_query($query,$db);

$zeilenholen = mysql_fetch_array($result,MYSQL_ASSOC);

if (!$zeilenholen)
{
die ("Sorry,aber dieser Name ist leider nich bekannt!");
}
if ($zeilenholen["passwort"] <> $passwort)
{
die ("Sorry,aber dieses Passwort passt nicht zum Username") ;
}

session_register('username');
?>
<?header ("Location:admin.php");
?>

bdominik schrieb am 12.04.2003 um 13:25 Uhr

MOOOOOOOOOOOOOOOOOOODS

Superhausi schrieb am 12.04.2003 um 19:08 Uhr

--> Moved to PHP & MySQL
@bd: Das machen wir auch, wenn du nicht schreist :)
@dein Problem:
Nimm mal die ganzen ?><? raus, so dass nur noch am Anfang <? /* dein ganzer code */ ?> steht. Dann solltest du die in der Fehlermeldung genannte Zeile anschauen und sagen, was dort genau steht. Ausserdem leerzeilen & leerzeichen ausserhalb der PHP Tags löschen, da dort "Output" entsteht...

master_mario schrieb am 12.04.2003 um 19:28 Uhr

Warum so viele ?><?...? Der Code würde wenn er funktionieren würde auch so gehen. Das Headerproblem liegt wie ich ebenfalls glaube an den Leerzeilen.

Vor Header nie eine Ausgabe an den Browser. Leerzeichen werden aber als Ausgabe erkannt.

Und, oben nach der include fehlt ein ;.

globetrotter schrieb am 16.05.2003 um 10:26 Uhr

Wenn du über dem ersten "<?" eine Leerzeile hast geht garnichts.
Habe mir dabei fast den Ar.... abgesucht um das herauszufinden. :D

Am besten immer direkt mit dem PHP-Tag in der ersten Zeile beginnen.
Ich habe mir angewöhnt in die erste Zeile das "<?php" zu schreiben. Zweite und dritte Zeile bleiben leer und dann das "?>".
Das ist auch wichtig bei eingebundenen (include) Dateien.
So verhält es sich auch mit jeder Art von HTML. Wenn einmal etwas an den Browser übermittelt wurde, selbst wenn es sich dabei um eine Leerzeile oder ein Leerzeichen handelt, geht mit Headern nichts mehr.

Achso...die PHP-Tags nur verwenden, wenn du HTML einfügen willst.
Ansonsten ist das Nonsens!!!

Noch etwas! Wenn einmal ein HEADER gesendet wurde ist "Schluss mit Lustig". Ein zweiter Header erzeugt dann genau diese Fehlermeldung.
Leider ist dieses Thema in allen HTML-Dokumentationen sehr schlecht beschrieben. Man kann sogar sagen besch... :( .

Narodnaja schrieb am 20.05.2003 um 21:38 Uhr

globetrotter postete
Achso...die PHP-Tags nur verwenden, wenn du HTML einfügen willst.
Ansonsten ist das Nonsens!!!

:oah:



[edit]*lichtaufgeh* ah nun kapier ichs - du meinst die überflüssigen ?> Endtags mittendrin :D

Seite 1 von 1