<-- Terug naar Snippets

Captcha met vraag

PHP versie: >= 4.1.0

Broncode

Code
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<?php
ini_set
('display_errors''On');
error_reporting(E_ALL);

session_start();

$aQuestions = array(
        
'Wat is de hoofdstad van Nederland?',
        
'Welke taal spreken ze in Engeland?',
        
'Hoeveel is twee plus twee als getal?',
        
'Wat is het tegenovergestelde van warm?',
        
'Is zeewater zoet of zout?',
        
'Wat is de laatste maand van een jaar?',
        
'Hoeveel dagen zitten er in een jaar? (Geen schrikkeljaar)' );
$aAnswers = array(
        
'amsterdam',
        
'engels',
        
4,
        
'koud',
        
'zout',
        
'december',
        
365 );

if(
$_SERVER['REQUEST_METHOD'] == 'POST')
{
    if(
strtolower($_POST['answer']) == $aAnswers[$_SESSION['key']])
    {
        
$content[] = '<p>Je hebt het juiste antwoord ingevuld.<p>';
    }
    else
    {
        
$content[] = '<p>Captcha niet juist ingevuld!</p>';
    }
}

$_SESSION['key'] = array_rand($aQuestions);
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>PHPtuts.nl - PHP Snippets - Captcha</title>
    
    <link rel="stylesheet" href="../../styles/default.css" type="text/css" media="screen" />
    <link rel="stylesheet" href="../../styles/ubb.css" type="text/css" media="screen" />
</head>
<body>
    <div id="wrap">
        <p class="none small align-right"><a href="/codeSnippets/">&lt;-- Terug naar Snippets</a></p>
        <h1>Captcha met vraag</h1>
        <div id="info">
            <p>PHP versie: &gt;= 4.1.0</p>
        </div>
        
        <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
        <label class="field"><?php echo $aQuestions[$_SESSION['key']]; ?></label>
        <input type="text" name="answer" />
        <input type="submit" value="Controleren" />
        </form>
        
        <?php
        
// Weergeven van meldingen uit het phpscript.
        
if(isset($errors))
        {
            echo 
'<ul>';
            foreach(
$errors as $error);
            {
                echo 
'<li>'.$error.'</li>';
            }
            echo 
'</ul>';
        }
        elseif(isset(
$content))
        {
            foreach(
$content as $line)
            {
                echo 
$line;
            }
        }
                
        
// Weergeven broncode
        
define('FILE'__FILE__);
        require_once(
'../broncode.php');
        
?>
    </div>    

<!-- Google analytics (geen onderdeel van script) -->
<script type="text/javascript" src="/inc/ga1.js"></script>
<script type="text/javascript" src="/inc/ga2.js"></script>

</body>
</html>