Mailinglisten-Archive |
>
> Warning: Cannot add header information - headers already sent by (output
> started at /home/www/www42/html/vb/vote.php:5) in
> /home/www/www42/html/vb/vote.php on line 12
1. Was genau bedeutet die Fehlermeldung ?
Warnung: Kann Header Informationen nicht hinzufügen - header wurde schon
geschickt ( Ausgabe gestartet .... ;-)
2. Wo tritt der Fehler auf?
In Line 12 bei setcookie
3. Warum tritt der Fehler auf?
setcookie() schickt selbst einen Header ( nämlich den Cookie ).
PHP mängelt allerdings an, dass der header bereits geschickt wurde.
In Zeile 1 steht <html>, was ja das ganze auch quasi als html kennzeichnet,
bzw. einfach bereits der anfang des dokuments ist, also wurde auch schon
etwas geschickt.
Es könnte dort allerdings auch <ich_brauch_nen_kaffee> stehen, der header
ist mit einem beliebigen Zeichen gesendet.
4. Wie kann ich den Fehler vermeiden.
Keine Header-Informationen schicken.
Konkret:
beginne das dokument mit "<?php " und mach keine ausgabe ( z.B. echo oder
print ) bis zum möglichen aufruf des setcookies.
Achte darauf, noch nicht einmal ein Leerzeichen vor dem <?php stehen zu
haben.
hth,
Olaf Waltersdorf
> <html>
> <head>
> <title>Ihre Meinung</title>
> <body>
> <?php
> $user = "xxx";
> $pass = "xxx";
> $verbindung = _(at)_mysql_connect("localhost",$user,$pass);
>
> if (isset ($vbvote)) { echo " hast schon gevoted!!!";
> } ELSE {
> setcookie ("vbvote", "true",time()+3600);
> $abfrage = "SELECT v1,v2,v3 FROM vote WHERE id=0";
> $erg = mysql_db_query("usr_www42",$abfrage,$verbindung);
> list($v1,$v2,$v3) = mysql_fetch_row($erg);
> if ($vote == 1) $v1++;
> if ($vote == 2) $v2++;
> if ($vote == 3) $v3++;
> $abfrage = "UPDATE vote SET v1=$v1,v2=$v2,v3=$v3) FROM vote WHERE
> id=0";
> $erg = mysql_db_query("usr_www42",$abfrage,$verbindung);
>
> }
> ?>
> </body>
> </html>
>
>
>
> --
> ** Durchgehend geöffnet: http://www.php-center.de **
> Die PHP-Liste: mailto:php_(at)_php-center.de
> http://infosoc.uni-koeln.de/mailman/listinfo/php
php::bar PHP Wiki - Listenarchive