tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
317
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    web16f2 web16f2 ist offline Rookie
    Registriert seit
    Mar 2005
    Beiträge
    5
    Hallo,

    also ich bin neu auf dem Gebiet PHP und beschäftige mich erst seit einigen Tagen intensiv damit. Nun steh ich vor meinem ersten Problem:

    HTML-Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    PHP-Code:
    <?php
    if (isset($pw)) {
    if (
    $pw=="Na7x") {
    header("Location: ziel1.html");
    }
    elseif (
    $pw=="Na6x") {
    header("Location: ziel2.html");
    }
    else {
    header("Location: nase.html");
    }
    }
    ?>
    HTML-Code:
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Unbenanntes Dokument</title>
    </head>
    
    <body>
    <form action="<?php echo $PHP_SELF; ?>"
    method="post">
    <input type="text" name="pw">
    <input type="submit" value="Senden">
    </form>
    </body>
    </html>
    Also wenn ich das ausführe kommt folgende Meldung im Browser:

    Warning: Cannot modify header information - headers already sent by (output started at /srv/www/htdocs/web16/html/bernd/pass1.php:2) in /srv/www/htdocs/web16/html/bernd/pass1.php on line 11

    Was mach ich falsch? Es hilft auch nix wenn ich

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

    in der ersten Zeile weglasse.

    ps: Sorry das ich wegen so ner kleinigkeit gleich ein neues Thema eröffne aber ich hab darüber nix im Forum gefunden!

    Vielen Dank für jede Antwort!
    Bernd
     

  2. #2
    Registriert seit
    Apr 2002
    Ort
    HH
    Beiträge
    3.224
    Zitat Zitat von web16f2
    in der ersten Zeile weglasse.
    Ich nehme das mal wörtlich.
    Dann ist da Dein Fehler.
    Es darf nichts, rein gar nichts, auch kein Lerzeichen oder Zeilenumbruch, im HTML-Teil sein, bevor header() aufgerufen wird.
    Es darf auch nichts per echo oder sonstwie ausgegeben werden.

    Gruß hpvw
     

  3. #3
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    HTTP-Header – nicht etwa PHP-Header – werden vor Versenden des eigentlichen Inhalts (z. B. ein HTML-Dokument) gesandt und beschreiben den nachfolgenden Inhalt (beispielsweise Inhaltstyp, -kodierung, etc.). Daher müssen auch in PHP-Skripten zuerst alle nötigen HTTP-Header gesandt werden, bevor der eigentliche Inhalt ausgegeben wird.
    Ich glaube, mittlerweile speichert PHP selbstständig die Ausgabe zwischen und sendet zuerst alle HTTP-Header, auch wenn diese erst am Ende des PHP-Skriptes beschrieben werden und bereits eine Ausgabe mittels echo stattfand.
     

  4. #4
    Avatar von Katzenbauer
    Katzenbauer Katzenbauer ist offline Mitglied Gold
    Registriert seit
    Jun 2004
    Beiträge
    213
    Also bei mir macht das PHP nicht. Vielleicht musste das irgendwo einstellen. Du kannst die Ausgabe aber immer Manuell stauern.

    Du führst http://de3.php.net/manual/de/function.ob-start.php aus. Das speichert jede Ausgabe im internen Puffer. Sobald du dann in PHP alle Ausgaben festgelegt hast gibst du alles auf einmal mit http://de3.php.net/manual/de/function.ob-end-flush.php aus.
     

  5. #5
    web16f2 web16f2 ist offline Rookie
    Registriert seit
    Mar 2005
    Beiträge
    5
    Vielen Dank für eure Hilfe! Jetzt gehts! Ich hab die erste Zeile

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

    einfach weggelassen und mit php ganz oben angefangen. Dann geht alles.

    Gruß
    B. Wächter
     

  6. #6
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Wieso lässt du die Dokumenttyp-Deklaration weg? Setze einfach den PHP-Teil an den Anfang des Skriptes.
     

Ähnliche Themen

  1. HEADER - Problem
    Von Lektor21 im Forum PHP
    Antworten: 10
    Letzter Beitrag: 09.02.08, 13:29
  2. Problem mit header()
    Von Fxice im Forum PHP
    Antworten: 9
    Letzter Beitrag: 02.05.05, 18:50
  3. Cookie Problem (kein Header Problem!)
    Von MC-René im Forum PHP
    Antworten: 4
    Letzter Beitrag: 31.08.04, 13:06
  4. Header Problem
    Von i-mehl im Forum PHP
    Antworten: 2
    Letzter Beitrag: 27.01.04, 17:43
  5. Setcookie - Header problem + cookie problem
    Von Subwoover im Forum PHP
    Antworten: 1
    Letzter Beitrag: 25.08.02, 19:27