Maximaal 3 keer per IP adres stemmen.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ron Oudgenoeg

Ron Oudgenoeg

07/10/2010 14:19:50
Quote Anchor link
Hoe zorg ik ervoor dat iemand maximaal 3 keer mag stemmen? De volgende code zorgt er voor mij voor dat je stem nooit word toegevoegd en dat als je nog niet 3 keer gestemd hebt er ook al staat dat je 3 keer hebt gestemd:

EDIT: de opdracht:

Opdracht 6
Om te voorkomen dat mensen meerdere keren kunnen stemmen, moet er een beveiliging hiertegen worden ingebouwd. Het voorwerk is al deels gedaan, doordat het IP adres van de stemmer wordt vast gelegd. Zorg er nu ook voor dat er maar maximaal 3 stemmen van hetzelfde IP adres mogen worden opgeslagen. Hoe je dit oplost mag je geheel zelf bepalen.


Invul formulier:

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
<HTML>
<BODY>
<FORM ACTION="x.php" NAME="formulier" METHOD="post">

    <B>Naam:</B>

    <INPUT TYPE="text" NAME="naam" SIZE="25" MAXLENGTH="50" <BR>

    <B>E-mail:</B>
    
    <INPUT TYPE="text" NAME="email" SIZE="25" MAXLENGTH="80"<BR>

    <B>Feest type:</B> <BR>

    <INPUT TYPE="radio" NAME="keuze" VALUE="1" CHECKED>Disco classic.
    <INPUT TYPE="radio" NAME="keuze" VALUE="2">Western.
    <INPUT TYPE="radio" NAME="keuze" VALUE="3">Pigs and farmers.
    <INPUT TYPE="radio" NAME="keuze" VALUE="4">Computer games.
    <BR>
    
    <INPUT TYPE="reset" VALUE="Beginwaarden">
    <INPUT TYPE="submit" VALUE="Volgende">
</FORM>

PHP code:
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
60
<HTML>
<BODY>


<?php    

    $host
= 'localhost';
    $gebruiker = 'root';
    $wachtwoord = '';
    $databasenaam = 'feestkeuze';
    
    $naam = $_POST['naam'];
    $email = $_POST['email'] ;
    $keuze = $_POST['keuze'];
    $ip = $_SERVER['REMOTE_ADDR'];

    $db = mysql_connect( $host, $gebruiker, $wachtwoord );
    mysql_select_db( $databasenaam );


    $query = "SELECT COUNT(IP), IP FROM vote; ";

    $result = mysql_query($query);

    if($result > 3)
    
    {

    
        echo "Sorry! je mag maximaal 3 keer stemmen."."<BR>";
    
    }

    
    else
    
    {    

        $query = "INSERT INTO vote VALUES
        ('$naam', '$email', '$ip', '$keuze')"
;
        mysql_query( $query);

    }

    
    $query = "SELECT COUNT(keuze), keuze FROM vote GROUP BY keuze; ";

    $result = mysql_query($query);

    
    while ($regel = mysql_fetch_array ($result))
    {

        echo "keuze ". $regel['keuze']." ";
        echo "is ".$regel['COUNT(keuze)']." keer gekozen."."<BR>";
        
    }


    mysql_close($db);


?>

</BODY>
</HTML>
Gewijzigd op 07/10/2010 14:36:56 door Ron Oudgenoeg
 
PHP hulp

PHP hulp

02/05/2024 01:06:24
 
Pieter M

Pieter M

07/10/2010 14:32:28
Quote Anchor link
We gaan niet helpen school opdrachten te maken
 

07/10/2010 14:32:38
Quote Anchor link
Niet op ip doen.
Daarmee sluit je mensen uit en een ander ip adres is makkelijk verkrijgbaar.
 
Pieter M

Pieter M

07/10/2010 14:33:32
Quote Anchor link
Karl Karl op 07/10/2010 14:32:38:
Niet op ip doen.
Daarmee sluit je mensen uit en een ander ip adres is makkelijk verkrijgbaar.


het is voor een school opdracht, en dat is de opdracht
 
Ron Oudgenoeg

Ron Oudgenoeg

07/10/2010 14:34:25
Quote Anchor link
Karl Karl op 07/10/2010 14:32:38:
Niet op ip doen.
Daarmee sluit je mensen uit en een ander ip adres is makkelijk verkrijgbaar.


Zoals Pieter al zei, is dat volgens de opdracht het beste om te doen, en zou het graag voor nu dan ook via het IP doen.
 

07/10/2010 15:01:25
Quote Anchor link
Als je een alternatief kan maken wat beter werkt, lijkt mij dat je nog steeds een voldoende hoort te krijgen. Als je maar uitlegt waarom.
 
Ron Oudgenoeg

Ron Oudgenoeg

07/10/2010 15:02:39
Quote Anchor link
Karl Karl op 07/10/2010 15:01:25:
Als je een alternatief kan maken wat beter werkt, lijkt mij dat je nog steeds een voldoende hoort te krijgen. Als je maar uitlegt waarom.


En wat is dat alternatief dan en hoe gebruik je dat?
 
Pieter van Linschoten

Pieter van Linschoten

07/10/2010 15:08:06
Quote Anchor link
Op burgerservicenummer laten stemmen, met irisscan als verificatie.

Maar volgens mij is je script al compleet, behalve dat je op deze manier, alle gebruikers weert, wanneer er 3 stemmen zijn.

Hint:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT COUNT(IP), IP FROM vote;
Gewijzigd op 07/10/2010 15:09:38 door Pieter van Linschoten
 
Pieter M

Pieter M

07/10/2010 15:16:53
Quote Anchor link
maar met burgerservicenummer en irisscan als verificatie gaat niet lukken als dit zelfs niet lukt.
 
Justin S

Justin S

07/10/2010 17:31:51
Quote Anchor link
Pieter M op 07/10/2010 15:16:53:
maar met burgerservicenummer en irisscan als verificatie gaat niet lukken als dit zelfs niet lukt.


Dat was ook sarcastisch bedoelt.
Je bent een WHERE vergeten. Hij checkt nu, als er 3 rijen bestaan mag je niet meer stemmen. Dus je moet WHERE IP = ipadres(remoteaddr ofzo).

Ik ben het wel eens met Karl Karl, dit is niet een handige manier om stemmen te loggen.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.