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

Warning: Cannot modify header information

pr0bl3mk1nd

Neues Mitglied
Hallo!

habe folgendes Problem. ich bekomme immer diese fehlermeldung:

Warning: Cannot modify header information - headers already sent by (output started at /users/gbh2011/www/index.php:29) in /users/gbh2011/www/login.php on line 29

Warning: Cannot modify header information - headers already sent by (output started at /users/gbh2011/www/index.php:29) in /users/gbh2011/www/login.php on line 30

-----------------------------------

login.php:

PHP:
<?php
    if (isset($_POST['btnLogin'])) {
        $name = $_POST['edtName'];
        $pw = $_POST['edtPW'];
        $result = mysql_query("SELECT id, admin FROM user WHERE name = '$name' AND pw = '$pw'");
        if (mysql_num_rows($result) == 1) {
            $id = mysql_result($result, 0, "id");
            $_SESSION['admin'] = mysql_result($result, 0, "admin");
            setcookie("gbh2011_id", $id, time() + 60 * 60);
            header("LOCATION: index.php"); // 29
        } // 30
        else
            echo "<script>alert('Login fehlgeschlagen!');</script>";
    }
?>

index.php:

PHP:
<div id="content" style="color: white;"><?php include "include.php"; ?></div> // 29

kann mir wer helfen?
smile.gif
habe bisher gegoogelt und dort steht, dass kein leerzeichen vor <?php stehen darf und dass vor header() kein html an den brwoser gesendet werden darf. nur hilft mir das bei meiner fehlersuche nicht weiter... was muss ich machen?
 
Eigentlich hast du dir deine Antwort bereits selber gegeben.

Das <div> in Zeile 29 deiner index.php ist eine HTML-Ausgabe.
Das darf nicht sein, wenn du später im Quellcode Header-Informationen senden willst.

Eine wenig elegante aber funktionierende Lösung wäre ein Output-Buffer.
das sorgt dafür, dass erst der vollständige Quellcode abgearbeitet wird, bevor die Ausgabe an den Browser geschieht.
Füge dazu an den Anfang des Dokumentes ob_start() ein.
Solltest du eine Session öffnen kommt ob_start() aber zwingend erst nach session_start()
 
Hallo Problemkind,

1. Öffne die Datei im Windows Texteditor. Gehe auf Datei->Speichern Unter und wähle den Dateityp "ANSII" aus und wenn nötig, überschreibe vorhandene Daten.
F5 ( oder STRG+F5 ) im Browser und die Fehlermeldung sollte weg sein,.. außer Fall 2. trifft zu.

2. Wird die Datei eventuell von einer anderen Datei "included" ?

Gruß
 
Zurück
Oben