validatie-32
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
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<?php
session_start(); // sessie starten
// netjes de variabele aanmaken om notice meldingen te voorkomen
$x = "";
$num = 5; // aantal afbeeldingen dat je wil laten zien
if(isset($_POST['validatie'])){ // is er op de verzend knop geklikt?
// de POST gegevens ophalen
$code = strtolower($_POST['code']);
if(!is_numeric($code)){ // zijn er cijfers ingevoerd?
// de ingevoerde code weer omzetten in cijfers
$code = str_replace("a", "0_", $code);
$code = str_replace("b", "1_", $code);
$code = str_replace("c", "2_", $code);
$code = str_replace("d", "3_", $code);
$code = str_replace("e", "4_", $code);
$code = str_replace("f", "5_", $code);
$code = str_replace("g", "6_", $code);
$code = str_replace("h", "7_", $code);
$code = str_replace("i", "8_", $code);
$code = str_replace("j", "9_", $code);
$code = str_replace("k", "10_", $code);
$code = str_replace("l", "11_", $code);
$code = str_replace("m", "12_", $code);
$code = str_replace("n", "13_", $code);
$code = str_replace("o", "14_", $code);
$code = str_replace("p", "15_", $code);
$code = str_replace("q", "16_", $code);
$code = str_replace("r", "17_", $code);
$code = str_replace("s", "18_", $code);
$code = str_replace("t", "19_", $code);
$code = str_replace("u", "20_", $code);
$code = str_replace("v", "21_", $code);
$code = str_replace("w", "22_", $code);
$code = str_replace("x", "23_", $code);
$code = str_replace("y", "24_", $code);
$code = str_replace("z", "25_", $code);
if($code == $_SESSION['validatie_check']){ // de opgegeven code vergelijken met de check uit de sessie
$succes = true; // het klopt
} else {
$succes = false; // het klopt niet
}
} else {
$succes = false; // er zijn cijfers ingevoerd i.p.v. letters, dus het klopt niet
}
}
// de cijfer code genereren
for($i = 0; $i < $num; $i ++){
$x .= rand(0,25) . "_";
}
$_SESSION['validatie_check'] = $x; // de code in de sessie bewaren zodat je het later kan controlleren
// de letters defineren
$a[0] = 'A';
$a[1] = 'B';
$a[2] = 'C';
$a[3] = 'D';
$a[4] = 'E';
$a[5] = 'F';
$a[6] = 'G';
$a[7] = 'H';
$a[8] = 'I';
$a[9] = 'J';
$a[10] = 'K';
$a[11] = 'L';
$a[12] = 'M';
$a[13] = 'N';
$a[14] = 'O';
$a[15] = 'P';
$a[16] = 'Q';
$a[17] = 'R';
$a[18] = 'S';
$a[19] = 'T';
$a[20] = 'U';
$a[21] = 'V';
$a[22] = 'W';
$a[23] = 'X';
$a[24] = 'Y';
$a[25] = 'Z';
for($i = count($a) - 1; $i >= 0; $i --){
$x = str_replace($i . "_", $a[$i], $x); // de getallen door letters vervangen
}
$font = imageloadfont('3d.gdf'); // gdf font laden, gebruik hiervoor GDF fonts en geen windows fonts!
$fontWidth = imagefontwidth($font); // hoe breed is de font?
$fontHeight = imagefontheight($font); // hoe hoog is de font?
$im = imagecreate(strlen($x) * $fontWidth, $fontHeight); // afbeelding aanmaken door de lengte van code te vermeningvuldigen met de lengte van de font
imagecolorallocate($im, 255, 255, 255); // achtergrondkleur instellen
$fgColor = imagecolorallocate($im, 100, 100, 100); // letterkleur defineren
imagestring($im, $font, 0, 0, $x, $fgColor); // de code in de afbeelding stoppen
imagejpeg($im, "pic.jpg", 100); // afbeelding in jpeg formaat zetten en opslaan in 'pic.jpg'
?>
<html>
<head>
<title>Validatie Script</title>
</head>
<body>
<img src="pic.jpg" />
<form method="post">
<input type="text" name="code" />
<input type="submit" name="validatie" value="Valideer!" />
</form>
<?php
if(!isset($succes))
echo "Type de letters die je ziet."; // iets doen als er nog niks gedaan is
else {
if($succes)
echo "Je bent een mens."; // iets doen bij succes
elseif(!$succes)
echo "Fout! Probeer het nog eens."; // iets doen als er geen succes is
}
?>
</body>
</html>
session_start(); // sessie starten
// netjes de variabele aanmaken om notice meldingen te voorkomen
$x = "";
$num = 5; // aantal afbeeldingen dat je wil laten zien
if(isset($_POST['validatie'])){ // is er op de verzend knop geklikt?
// de POST gegevens ophalen
$code = strtolower($_POST['code']);
if(!is_numeric($code)){ // zijn er cijfers ingevoerd?
// de ingevoerde code weer omzetten in cijfers
$code = str_replace("a", "0_", $code);
$code = str_replace("b", "1_", $code);
$code = str_replace("c", "2_", $code);
$code = str_replace("d", "3_", $code);
$code = str_replace("e", "4_", $code);
$code = str_replace("f", "5_", $code);
$code = str_replace("g", "6_", $code);
$code = str_replace("h", "7_", $code);
$code = str_replace("i", "8_", $code);
$code = str_replace("j", "9_", $code);
$code = str_replace("k", "10_", $code);
$code = str_replace("l", "11_", $code);
$code = str_replace("m", "12_", $code);
$code = str_replace("n", "13_", $code);
$code = str_replace("o", "14_", $code);
$code = str_replace("p", "15_", $code);
$code = str_replace("q", "16_", $code);
$code = str_replace("r", "17_", $code);
$code = str_replace("s", "18_", $code);
$code = str_replace("t", "19_", $code);
$code = str_replace("u", "20_", $code);
$code = str_replace("v", "21_", $code);
$code = str_replace("w", "22_", $code);
$code = str_replace("x", "23_", $code);
$code = str_replace("y", "24_", $code);
$code = str_replace("z", "25_", $code);
if($code == $_SESSION['validatie_check']){ // de opgegeven code vergelijken met de check uit de sessie
$succes = true; // het klopt
} else {
$succes = false; // het klopt niet
}
} else {
$succes = false; // er zijn cijfers ingevoerd i.p.v. letters, dus het klopt niet
}
}
// de cijfer code genereren
for($i = 0; $i < $num; $i ++){
$x .= rand(0,25) . "_";
}
$_SESSION['validatie_check'] = $x; // de code in de sessie bewaren zodat je het later kan controlleren
// de letters defineren
$a[0] = 'A';
$a[1] = 'B';
$a[2] = 'C';
$a[3] = 'D';
$a[4] = 'E';
$a[5] = 'F';
$a[6] = 'G';
$a[7] = 'H';
$a[8] = 'I';
$a[9] = 'J';
$a[10] = 'K';
$a[11] = 'L';
$a[12] = 'M';
$a[13] = 'N';
$a[14] = 'O';
$a[15] = 'P';
$a[16] = 'Q';
$a[17] = 'R';
$a[18] = 'S';
$a[19] = 'T';
$a[20] = 'U';
$a[21] = 'V';
$a[22] = 'W';
$a[23] = 'X';
$a[24] = 'Y';
$a[25] = 'Z';
for($i = count($a) - 1; $i >= 0; $i --){
$x = str_replace($i . "_", $a[$i], $x); // de getallen door letters vervangen
}
$font = imageloadfont('3d.gdf'); // gdf font laden, gebruik hiervoor GDF fonts en geen windows fonts!
$fontWidth = imagefontwidth($font); // hoe breed is de font?
$fontHeight = imagefontheight($font); // hoe hoog is de font?
$im = imagecreate(strlen($x) * $fontWidth, $fontHeight); // afbeelding aanmaken door de lengte van code te vermeningvuldigen met de lengte van de font
imagecolorallocate($im, 255, 255, 255); // achtergrondkleur instellen
$fgColor = imagecolorallocate($im, 100, 100, 100); // letterkleur defineren
imagestring($im, $font, 0, 0, $x, $fgColor); // de code in de afbeelding stoppen
imagejpeg($im, "pic.jpg", 100); // afbeelding in jpeg formaat zetten en opslaan in 'pic.jpg'
?>
<html>
<head>
<title>Validatie Script</title>
</head>
<body>
<img src="pic.jpg" />
<form method="post">
<input type="text" name="code" />
<input type="submit" name="validatie" value="Valideer!" />
</form>
<?php
if(!isset($succes))
echo "Type de letters die je ziet."; // iets doen als er nog niks gedaan is
else {
if($succes)
echo "Je bent een mens."; // iets doen bij succes
elseif(!$succes)
echo "Fout! Probeer het nog eens."; // iets doen als er geen succes is
}
?>
</body>
</html>