som-captcha

Gesponsorde koppelingen

PHP script bestanden

  1. som-captcha

« Lees de omschrijving en reacties

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
<?
class SomCaptcha {    
    function
maakSom() {
        # de getallen en operator maken
        $getallen = array("nul", "&eacute;&eacute;n", "twee", "drie", "vier", "vijf", "zes", "zeven", "acht", "negen");
        $plusmin = array("plus", "min");
    
        $getal1 = rand(1, 9);
        $getal2 = rand(1, $getal1-1);
        $plusofmin = rand(0, 1);
    
        # de som maken
        $plusmin = $plusmin[$plusofmin];
        $goedantwoord = ($plusofmin == 0 ? $getal1 + $getal2 : $getal1 - $getal2);
        
        # getallen voluit geschreven
        $getal1 = $getallen[$getal1];
        $getal2 = $getallen[$getal2];
        
        # alles samen gooien in array en plaatsten in een sessie
        $som = array("getal1" => $getal1, "plusofmin" => $plusmin, "getal2" => $getal2,"goedantwoord" => $goedantwoord);
        $_SESSION = $som;
    }
    
    function
haalAntwoord() {
        return $_SESSION['goedantwoord'];
    }
    
    function
schrijfSom() {
        return $_SESSION['getal1'] . " " . $_SESSION['plusofmin'] . " " . $_SESSION['getal2'];
    }
    
    function
checkAntwoord($invoer) {
        if(empty($invoer)) return false;
        if(!is_numeric($invoer)) return false;
        if($invoer == $this->haalAntwoord())
            return true;
        else
            return false;
    }
}

?>


En zo kan het gebruikt worden:

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
<?
if($_SERVER['REQUEST_METHOD'] == "POST") {
    echo '<p>je hebt ingevoerd: <strong>' . $_POST['antwoord'] . '</strong>, en het goede antwoord is: <strong>' . $_SESSION['goedantwoord'] . '</strong>.</p>';
    echo '<p>Het antwoord dat je hebt invoed is: <strong>' . ($captcha->checkAntwoord($_POST['antwoord']) ? "GOED" : "FOUT") . '</strong></p>';
}
else {
    $captcha->maakSom(); #maakt de Som en gelijk de sessie
    echo "<p>de uitkomst van <strong>" . $captcha->schrijfSom() . "</strong> is:</p>";
    echo '
<form method="post" action="">
    <input type="text" name="antwoord" />
    <input type="submit" value="verstuur" /> (antwoord numeriek invoeren)
</form>'
;
}[
/code]
?>


 
 

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.