Ergebnis 1 bis 5 von 5

Thema: Warning: Cannot modify header information...

  1. #1

    Warning: Cannot modify header information...

    Hallo Leutz,
    Auf meinen Server tritt bei einer Datei das Problem auf:
    Warning: Cannot modify header information - headers already sent by (output started at Datei.php:7) in [Datei] on line 21

    Der Codebereich:
    PHP-Code:
    <?session_start();?>
    <html>
    <head>
    <title>Admin</title>
    </head>
    <body bgcolor="#c0c0c0" ms_positioning="gridlayout">
    <?php
    //Datenbankverbindung
    Include("../cgi-bin/dbconnect.inc");
    //Variablen
    $UName $_POST['Name'];
    $UPass $_POST['login'];
    $logout $_GET['logout'];
    $Eingeloggt $_SESSION['eingeloggt'];
    $result mysql_query("SELECT * FROM users");
    While (
    $row mysql_fetch_object($result)){ 
    If (isset(
    $UName) && isset($UPass) && $UName ==$row->Name && $UPass == $row->Passwort){
    $_SESSION['eingeloggt'] = 'OK';
    header ("Location: [PFAD][DATEI] ");
    }
    Nach der Warnung muss der Fehler in Zeile 7 (started at Datei.php:7) liegen aber ich habe schon alles Mögliche versucht. Das Komische ist noch, das bei Xampp alles läuft.
    Hatte jemand von euch schon das Problem und kann mir da weiterhelfen?

  2. #2
    Der Fehler tritt auf, weil du eine Ausgabe (der HTML-Code in den ersten Zeilen) erzeugst, aber später noch versuchst, einen HTTP-Header zu senden (die header-Funktion mit Location).

    Beim senden einer Datei musst du immer Berücksichtigen:
    1. Kopfdaten senden, dann
    2. Ausgabe senden.


    Hm, erstellst du den HTML-Code mit einem Microsoft-Produkt?

  3. #3
    Zitat Zitat von mitaki Beitrag anzeigen
    Der Fehler tritt auf, weil du eine Ausgabe (der HTML-Code in den ersten Zeilen) erzeugst, aber später noch versuchst, einen HTTP-Header zu senden (die header-Funktion mit Location).

    Beim senden einer Datei musst du immer Berücksichtigen:
    1. Kopfdaten senden, dann
    2. Ausgabe senden.
    O.K. das wurde mir auch mehrere Male gesagt aber ich wüsste sonst nicht wie das mit dem LOGIN sonst klappen könnte.
    PHP-Code:
    If (isset($UName) && isset($UPass) && $UName ==$row->Name && $UPass == $row->Passwort){
    $_SESSION['eingeloggt'] = 'OK';
    header ("Location: [PFAD][DATEI] "); 

    Zitat Zitat
    Hm, erstellst du den HTML-Code mit einem Microsoft-Produkt?
    Nö eigentlich nicht. Den HTML-Code habe ich teilweise mit Delphi 2005 gemacht.^^

    Geändert von RPG-Man (29.06.2007 um 15:42 Uhr)

  4. #4
    Zitat Zitat
    O.K. das wurde mir auch mehrere Male gesagt aber ich wüsste sonst nicht wie das mit dem LOGIN sonst klappen könnte.
    Wo liegt das Problem? Eine Login-Funktionalität kann man auch vor jeder Ausgabe durchführen.

    Allerdings finde ich dein System nicht sehr gut.
    Es wäre besser, wenn du die eingehenden Werte erstmal überprüfst (sind keine gefährlichen Zeichen etc. vorhanden) und diese dann direkt in der SQL-Abfrage einbaust. Stell sir vor, wenn mit wachsender Benutzerzahl für jede Seite hunderte oder tausende von Datensätzen verarbeitet werden müssen.

    Zitat Zitat
    Nö eigentlich nicht. Den HTML-Code habe ich teilweise mit Delphi gemacht
    Sagt mir was, kann ich aber kein bisschen mit HTML in Verbindung bringen.
    Hm, denkst du nicht, es wäre sinnvoller, HTML händisch zu erzeugen (es ist immerhin eine Sprache)? Dadurch würdest du höhere Qualität erreichen.

  5. #5
    Zitat Zitat
    Wo liegt das Problem? Eine Login-Funktionalität kann man auch vor jeder Ausgabe durchführen.
    Jetzt funktioniert es. Danke

    Zitat Zitat
    Allerdings finde ich dein System nicht sehr gut.
    Es wäre besser, wenn du die eingehenden Werte erstmal überprüfst (sind keine gefährlichen Zeichen etc. vorhanden) und diese dann direkt in der SQL-Abfrage einbaust. Stell sir vor, wenn mit wachsender Benutzerzahl für jede Seite hunderte oder tausende von Datensätzen verarbeitet werden müssen.
    Werde ich machen. Danke für den Tipp.

    Zitat Zitat
    Sagt mir was, kann ich aber kein bisschen mit HTML in Verbindung bringen.Hm, denkst du nicht, es wäre sinnvoller, HTML händisch zu erzeugen (es ist immerhin eine Sprache)? Dadurch würdest du höhere Qualität erreichen.
    Da stimme ich dir zu.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •