Toon posts:

[php] headers / poll / cookie error

Pagina: 1
Acties:
  • 36 views sinds 30-01-2008

Verwijderd

Topicstarter
ik heb een poll gemaakt. Deze werkt perfect. nu was ik alleen bezig met het toevoegen van een cookie. Deze cookie moet ervoor zorgen dat er maar 1 keer per dag op dezelfde poll gestemd kan worden

$id in de poll is de gekozen optie

ik heb deze code
PHP:
1
<? if ($button=='Stemmen') {   if(isset($gestemd))     {        echo "U heeft al gestemd!";     }   elseif(isset($id)) {       Setcookie("gestemd", $id, Time()+3600*24*1);       $qinfo = "UPDATE poll_antwoorden SET stemmen = stemmen+0 where id='$id'";       mysql_query($qinfo);             header("location:pollresults.php?naam=$naam&amp;categorie=$categorie");   }   else   {      echo "<p>Je hebt geen <b>mening</b> geselecteerd.<br>           <a href=\"javascript:history.back(-1)\">Klik hier</a> om terug te gaan naar het formulier.";     } ?> ?>

nu krijg ik deze foutmelding:

Warning: Cannot add header information - headers already sent by (output started at /home/sites/site87/web/poll2.php:25) in /home/sites/site87/web/poll2.php on line 35

Warning: Cannot add header information - headers already sent by (output started at /home/sites/site87/web/poll2.php:25) in /home/sites/site87/web/poll2.php on line 38

en line 25 bevindt zich in
PHP:
1
<? if ($button=='Stemmen') {   if(isset($gestemd))     {        echo "U heeft al gestemd!";     } ?>

Wat doe ik fout |:( en klopt die $id?

  • Boomerang
  • Registratie: November 2000
  • Niet online
Uit de PHP Manual:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
Note: The HTTP status header line will always be the 
first sent to the client, 
regardless of the actual header() call beeing the first or not. 
The status may be overridden by calling header() with a new status line at any time unless the HTTP headers have already been sent. 

...........

Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP.
It is a very common error to read code with include(), or require(), functions, or another file access function, and have spaces or empty lines that are output before header() is called. 
The same problem exists when using a single PHP/HTML file. 


(http://www.php.net/manual/en/function.header.php)

Dus geen echo's voor de headers, altijd eerst de headers versturen, anders krijg je een dergelijke foutmelding..

  • Grum
  • Registratie: Juni 2001
  • Niet online
Voor de 500ste keer:

Elke bit die NIET binnen de php tags staat VOOR dat jij de headers verstuurt zal deze error veroorzaken.

Wel errug RTFM btw.

Verwijderd

Topicstarter
oke dat snap ik

maar hoe kan ik het dan opstellen, want je moet toch eerst kijken of de cookie aanwezig is en daarna maak je hem pas aan...

of beredeneer ik nu verkeerd....

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

lees de error nou nog eens goed

Doet iets met Cloud (MS/IBM)


Dit topic is gesloten.