Versio

radio weg en stemmen met knop

Overzicht Reageren

Patrick vollenbroek

patrick vollenbroek

06/02/2012 18:16:07
Quote Anchor link
betse mensen ik wil kunnen stemmen zonder radio's en dit heb ik nu:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
 ob_start();    //is enkel nodig voor de doorverwijzing

 
    $file = "txt/alias.txt";            //het bestandje
     $fp = fopen($file, "r");        //lees poll.txt uit
     $inhoud = fread($fp, filesize($file));    //uitlezen
     fclose($fp);
     $vraag = "wat vind je van het spel?";
     $optie = array("leuk");
     $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['naam'] == 'gestemd')
 {

         for($i = 0; $i < $j; $i ++)    //lusje om resultaten te laten zien.

         echo "<b>je hebt al gestemd</b><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);
             setcookie("naam", "gestemd", time()+3600*24*365);    //hier wordt het cookie geset op een dag
             echo "Je stem is verzonden!<br>Je wordt nu doorgestuurd naar de poll...";
             header("refresh: 2; url=http://domein.nl/1+/naam.php"); //doorverwijzing
         }
     }

     else
     {
         echo "<form method=\"post\">";
         for($i = 0; $i < $j; $i ++)    //lusje om resultaten te laten zien.
    {
    echo "<input type=\"radio\" name=\"stem\" value=\"".$i."\" checked>";
    }

   echo "<input type=\"submit\" name=\"stemmen\" value=\"Stemmen\"></form><b>".$totaal."</b> stemmen totaal";
     }
 }
        
 ?>


hoe moet ik dat doen alvast bedant.
 
PHP hulp

PHP hulp

25/05/2012 13:56:53
Gesponsorde koppelingen:
 
Jeroen vd

jeroen vd

06/02/2012 18:22:06
Quote Anchor link
zou je iets specifieker kunnen zijn? 'zonder radios' is nogal breed. wil je dat je bij het stemmen meerdere dingen kunt stemmen, of maar eentje? en is het een hele lijst van mogelijkheden?
 
Kris Peeters

Kris Peeters

06/02/2012 18:22:20
Quote Anchor link
Leg eens in woorden uit wat je wil bereiken.

Trouwens, ik zie dat je data leest/opslaat in een .txt file.
Is dat nodig?
Geen belangstelling om dat met een database te regelen?
 
Hertog Jan

Hertog Jan

06/02/2012 18:26:18
Quote Anchor link
Geen idee wat je bedoelt met stemmen zonder radio's? Kun je even wat duidelijker zijn.

Hier trouwens een paar tips om je script te verbeteren:
1 ) Geen ouput voor een header(); je krijgt nu de error: header allready send. Als je dit goed doet heb je ook geen ob_start() rommel meer nodig.
2 ) Gebruik enkele quotes -> echo '<input type="radio" name="stem" value="'.$i.'" checked="checked" />.
3 ) Ga gebruik maken van een Database ipv tekst bestand.
4 ) Als ik de cookie 'naam' verwijder kan ik meerdere keren stemmen? Dit is niet de bedoeling neem ik aan.
 
Patrick vollenbroek

patrick vollenbroek

06/02/2012 19:09:34
Quote Anchor link
ik Wil dat je alleen op stemmen hoeft tedrukken en dan komt al een stem bij en niet dar ik een radio moet aan vinken. en het is maar op 1 stemmen
 
Obelix en Idefix

Obelix en Idefix

06/02/2012 19:15:40
Quote Anchor link
Dan maak je toch een gewone button/knop?
Gewijzigd op 06/02/2012 19:16:16 door Obelix en Idefix
 



Overzicht Reageren