re/captcha wil niet in bestaand reactiescript
Ik heb een tot zover goed werkende reactiescript alleen de laatste tijd heb ik last van spambots. Nu heb ik gekeken op de site van reCAPTCHA dit wil ik graag toevoegen in dit script. Dit heb ik meerdere keren gedaan maar zonder resultaat. Het verzenden gaat nog steeds om de afbeelding heen. onderstaan moet ik verwerken voor de verzendknop alleen hoe.
With the code, your form might look something like this:
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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
<form method="post" action="verify.php">
<?php
require_once('recaptchalib.php');
$publickey = "your_public_key"; // you got this from the signup page
echo recaptcha_get_html($publickey);
?>
<input type="submit" />
</form>
<!-- more of your HTML content -->
Server Side (How to test if the user entered the right answer)
The following code should be placed at the top of the verify.php file:
<?php
require_once('recaptchalib.php');
$privatekey = "your_private_key";
$resp = recaptcha_check_answer ($privatekey,
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);
if (!$resp->is_valid) {
// What happens when the CAPTCHA was entered incorrectly
die ("The reCAPTCHA wasn't entered correctly. Go back and try it again." .
"(reCAPTCHA said: " . $resp->error . ")");
} else {
// Your code here to handle a successful verification
}
?>
.........................Mijn Reactiescript............................
<style type="text/css">
<!--
body,td,th {
font-family: Tahoma, Geneva, sans-serif;
font-size: 12px;
color: #747474;
}
-->
</style>
<hr />
<p> </p>
<p><strong>
<?php
mysql_connect('','','');
mysql_select_db('');
$query = 'SELECT id FROM paginas WHERE url="'.mysql_escape_string($_SERVER['REQUEST_URI']).'"';
$result = mysql_query($query);
if (mysql_num_rows($result)== 1){
$row = mysql_fetch_array($result);
$pagina_id = $row['id'];
} else {
mysql_query('INSERT INTO paginas SET url="'.
$_SERVER['REQUEST_URI'].'";');
$pagina_id = mysql_insert_id();
}
?>
</strong></p>
<p><strong><img src="../images/03.png" width="20" height="20" /> Reageer zelf</strong></p>
<p> </p>
<form method="post">
<p> </p>
<p>Naam:
<input type="text" name="naam"><br>
</p>
<p> </p>
<p>E-mail:
<input name="email" type="text" value="" />
*wordt niet getoond
<br>
</p>
<p> </p>
<p>Reactie:<br>
<textarea cols="45" rows="4" name="reactie"></textarea>
<br>
<input type="submit" value="Versturen">
</p>
</form>
<p> </p>
<br>
<?php
if (isset($_POST['naam']))
{
if($_POST['naam'] != ''
&& preg_match('#^[a-z0-9][a-z0-9_.-]{0,63}@([a-z0-9]+\.)*[a-z0-9][a-z0-9\-]+\.([a-z]{2,6})$#i', $_POST['email'])
&& $_POST['reactie'] != '')
{
$query = '
INSERT INTO
reactie
SET
pagina = "'.$pagina_id.'",
naam = "'.mysql_real_escape_string($_POST['naam']).'",
email = "'.mysql_real_escape_string($_POST['email']).'",
reactie = "'.mysql_real_escape_string($_POST['reactie']).'"
';
$result = mysql_query($query);
if (mysql_affected_rows() == 1)
{
echo '<p>Je bericht is opgeslagen.</p>';
}else{
echo 'Database-foutje, de reactie is niet opgeslagen.';
}
}
else
{
echo 'Reactie is niet opgeslagen, vul alles correct in';
}
}
?>
<br>
<p><strong><u>Reacties van anderen</u></strong></p>
<br>
<br>
<?php
$query = 'SELECT * FROM reactie WHERE pagina="'.$pagina_id.'"';
$result = mysql_query($query);
if (mysql_num_rows($result)== 0){
echo 'Er zijn nog geen reacties.';
} else {
while ($row = mysql_fetch_array($result)) {
// deze reactie weergeven
echo
''.$row["datumtijd"].'<br>'.$row['naam'].' zegt: '.'<br>'.'<br>'.
''.$row['reactie'].'<br>'.'<br>'.'<br />';
}
}
?>
Gelieve in het vervolg bij code, code tags te gebruiken.[/modedit]
Gewijzigd op 03/09/2010 00:17:09 door Bas IJzelendoorn
Gewijzigd op 01/09/2010 22:19:22 door - Raoul -
Code (php)
1
2
3
4
5
2
3
4
5
<?php
require_once('recaptchalib.php');
$publickey = "your_public_key"; // you got this from the signup page
echo recaptcha_get_html($publickey);
?>
require_once('recaptchalib.php');
$publickey = "your_public_key"; // you got this from the signup page
echo recaptcha_get_html($publickey);
?>
Tis de vraag waar ik dit moet toevoegen in mijn script.. als ik het toevoeg omzeilt hij de recaptcha en verzend zonder code te controleren.
dan moet je verify.php er natuurlijk ook bijvoegen bij de cotrole
Ik krijg een bestand verify.php, recaptchalib.php en reacties.php
voeg toe aan mijn reactiescript
Code (php)
1
2
3
4
5
2
3
4
5
<?php
require_once('recaptchalib.php');
$publickey = "your_public_key"; // you got this from the signup page
echo recaptcha_get_html($publickey);
?>
require_once('recaptchalib.php');
$publickey = "your_public_key"; // you got this from the signup page
echo recaptcha_get_html($publickey);
?>
dan zou het moeten lukken dacht ik..
Fatal error: Call to undefined function recaptcha_get_html() in /on line 50
Zet error_reporing op error_reporting(E_ALL | E_STRICT); en geef je form-tag een action attribuut.