cookie probleem
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php
ob_start(); //is enkel nodig voor de doorverwijzing
$file = "poll.txt"; //het bestandje
$fp = fopen($file, "r"); //lees poll.txt uit
$inhoud = fread($fp, filesize($file)); //uitlezen
fclose($fp);
$optie = array("Fonds Gehandicaptensport","Stichting Doe Een Wens (Nederland)","Stichting KiKa","Maag Lever Darm Stichting");
$resultaat = explode(",", $inhoud); //$inhoud in een array zetten.
$totaal = array_sum($resultaat); //totaal berekenen
$j = count($resultaat); //tellen hoeveel resultaten er zijn (standaard 3)
if($_COOKIE['poll'] == "goed") {
for($i = 0; $i < $j; $i ++) //lusje om resultaten te laten zien.
{
$uitslag = round(100 / $totaal * $resultaat[$i]); //formule voor procenten
echo "<table width=\"100%\" border=\"0\"><tr><td width=\"100\">".$optie[$i]."</td><td width=\"20\"><!-- no contents --></td><td width=\"*\"><table border=\"0\" width=\"".$uitslag."%\" height=\"20\"><td bgcolor=\"#3399cc\"> </td></tr></table></td><td width=\"30\">".$uitslag."%</td></tr></table><br>"; //maak de opmaak met de breedte van tabel
}
echo "<b>je hebt al gestemd</b><br><br><b>".$totaal."</b> stemmen totaal";
}
else
{
if(isset($_POST['stemmen'])) //als er op de knop geklikt is
{
if($_POST['stem'] == '') //als er geen waarde is
{
echo "je hebt niks ingevuld, ga terug om dat alsnog te doen.";
}
else
{ // hieronder moeten de overige resultaten ook weer ingevoegd worden.
for($l = 0; $l < $_POST['stem']; $l ++)
{
$invoegen.= $resultaat[$l].","; //komma er weer bij..
}
$invoegen.= $resultaat[$_POST['stem']]+1; //voeg de stem toe + 1
for($l = $_POST['stem']; $l < $j-1; $l ++)
{
$invoegen.= ",".$resultaat[$l];
}
$fp = fopen($file, "r+");
fputs($fp, $invoegen); //$invoegen invoegen
fclose($fp);
$cookiewaarde = 'goed' ;
setcookie("poll", $cookiewaarde, time()+7200);
echo "Je stem is verzonden!<br><a href=\"index.php\">Keer terug!</a><br>";
}
}
else
{
echo "<form method=\"post\">";
for($i = 0; $i < $j; $i ++) //lusje om resultaten te laten zien.
{
$uitslag = round(100 / $totaal * $resultaat[$i]); //formule voor procenten
echo "<table width=\"100%\" border=\"0\"><tr><td width=\"20\"><input type=\"radio\" name=\"stem\" value=\"".$i."\"></td><td width=\"100\">".$optie[$i]."</td><td width=\"*\"><table border=\"0\" width=\"".$uitslag."%\" height=\"20\"><td bgcolor=\"#3399cc\"> </td></tr></table></td><td width=\"30\">".$uitslag."%</td></tr></table><br>"; //maak de opmaak met de breedte van tabel
}
echo "<input type=\"submit\" name=\"stemmen\" value=\"Stemmen\"></form><br><br><b>".$totaal."</b> stemmen totaal";
}
}
?>
ob_start(); //is enkel nodig voor de doorverwijzing
$file = "poll.txt"; //het bestandje
$fp = fopen($file, "r"); //lees poll.txt uit
$inhoud = fread($fp, filesize($file)); //uitlezen
fclose($fp);
$optie = array("Fonds Gehandicaptensport","Stichting Doe Een Wens (Nederland)","Stichting KiKa","Maag Lever Darm Stichting");
$resultaat = explode(",", $inhoud); //$inhoud in een array zetten.
$totaal = array_sum($resultaat); //totaal berekenen
$j = count($resultaat); //tellen hoeveel resultaten er zijn (standaard 3)
if($_COOKIE['poll'] == "goed") {
for($i = 0; $i < $j; $i ++) //lusje om resultaten te laten zien.
{
$uitslag = round(100 / $totaal * $resultaat[$i]); //formule voor procenten
echo "<table width=\"100%\" border=\"0\"><tr><td width=\"100\">".$optie[$i]."</td><td width=\"20\"><!-- no contents --></td><td width=\"*\"><table border=\"0\" width=\"".$uitslag."%\" height=\"20\"><td bgcolor=\"#3399cc\"> </td></tr></table></td><td width=\"30\">".$uitslag."%</td></tr></table><br>"; //maak de opmaak met de breedte van tabel
}
echo "<b>je hebt al gestemd</b><br><br><b>".$totaal."</b> stemmen totaal";
}
else
{
if(isset($_POST['stemmen'])) //als er op de knop geklikt is
{
if($_POST['stem'] == '') //als er geen waarde is
{
echo "je hebt niks ingevuld, ga terug om dat alsnog te doen.";
}
else
{ // hieronder moeten de overige resultaten ook weer ingevoegd worden.
for($l = 0; $l < $_POST['stem']; $l ++)
{
$invoegen.= $resultaat[$l].","; //komma er weer bij..
}
$invoegen.= $resultaat[$_POST['stem']]+1; //voeg de stem toe + 1
for($l = $_POST['stem']; $l < $j-1; $l ++)
{
$invoegen.= ",".$resultaat[$l];
}
$fp = fopen($file, "r+");
fputs($fp, $invoegen); //$invoegen invoegen
fclose($fp);
$cookiewaarde = 'goed' ;
setcookie("poll", $cookiewaarde, time()+7200);
echo "Je stem is verzonden!<br><a href=\"index.php\">Keer terug!</a><br>";
}
}
else
{
echo "<form method=\"post\">";
for($i = 0; $i < $j; $i ++) //lusje om resultaten te laten zien.
{
$uitslag = round(100 / $totaal * $resultaat[$i]); //formule voor procenten
echo "<table width=\"100%\" border=\"0\"><tr><td width=\"20\"><input type=\"radio\" name=\"stem\" value=\"".$i."\"></td><td width=\"100\">".$optie[$i]."</td><td width=\"*\"><table border=\"0\" width=\"".$uitslag."%\" height=\"20\"><td bgcolor=\"#3399cc\"> </td></tr></table></td><td width=\"30\">".$uitslag."%</td></tr></table><br>"; //maak de opmaak met de breedte van tabel
}
echo "<input type=\"submit\" name=\"stemmen\" value=\"Stemmen\"></form><br><br><b>".$totaal."</b> stemmen totaal";
}
}
?>
Wat het probleem nou is is dat ik een cookie aanmaak:
Maar hij geeft de volgende melding:
headers already sent by output started at.. blabla :p
Ik ken de melding maar ik zou niet weten waar ik de cookie dan aan moet maken, hij moet pas aan gaan als er gestemt is.. Maar ik moet hem boven andere outputs plaatsen?
Alvast heel erg bedankt!
Nog geen reactie?
De foutmelding zegt het in feite zelf al, je begint al data naar je browser te sturen op regel * terwijl je op regel y nog een header stuurt (een cookie is een header)