[opgelost]Captcha zegt altijd foutieve invoer- Bedankt SanThe
Nu het probleempje:
Ik heb een ReCaptcha blokje in het formulier staan, echter blijf ik zien dat ik de code fout invoer, ook al vul ik heb goed in.
Mijn code:
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
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
<?php
include "klacht_config.php";
?>
<?php
if (!isset($_POST['naar_captcha'])) {
?>
<html>
<form method="post">
Naam:<input type="text" name="naam"><br>
Mail:<input type="text" name="mail"><br>
Soort:<select name="soort">
<option value="vraag">Vraag</option>
<option value="klacht">Klacht</option>
</select><br>
<input type="submit" name="naar_captcha" value="Verder"><br>
</form>
<?php
} elseif (isset($_POST['naar_captcha'])) {
echo $_POST['soort'].":<br>";
?>
<form method="post">
<input type="hidden" name="eind_naam" value="<?php echo $_POST['naam']; ?>">
<input type="hidden" name="eind_mail" value="<?php echo $_POST['mail']; ?>">
<input type="hidden" name="eind_soort" value="<?php echo $_POST['soort']; ?>">
<textarea name="eind_tekst">Wat is uw <?php echo $_POST['soort']; ?>...</textarea><br>
<?php
echo recaptcha_get_html($_CONFIG['cap']['public_key']);
?>
<input type="submit" name="submit" value="Verstuur"><br>
</form>
<?php
}
if ($_SERVER['REQUEST_METHOD'] == "POST" AND isset($_POST['submit'])) {
if ($_POST['eind_naam'] == NULL) {
echo "<font color='red'><b>Vul wel een naam in</b></font>";
exit();
}
if ($_POST['eind_mail'] == NULL) {
echo "<font color='red'><b>Vul wel een e-mail adres in</b></font>";
exit();
}if ($_POST['eind_soort'] == NULL) {
echo "<font color='red'><b>Vul wel de soort reactie in</b></font>";
exit();
}if ($_POST['eind_tekst'] == NULL) {
echo "<font color='red'><b>Vul wel een tekst in</b></font>";
exit();
}
//CAPTCHA BEGIN
$resp = recaptcha_check_answer ($_CONFIG['cap']['private_key'],
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);
if (!$resp->is_valid) {
echo "Je hebt de captcha niet goed ingevuld.";
exit();
} elseif ($resp->is_valid) {
echo "CAP";
}
//CAPTCHA EIND
$query = mysqli_query($con, "INSERT INTO formulier_hollanderict
(naam,
mail,
soort,
tekst
)
VALUES
(
'".$_POST['eind_naam']."',
'".$_POST['eind_mail']."',
'".$_POST['eind_soort']."',
'".nl2br($_POST['eind_tekst'])."'
)
");
if ($query != FALSE) {
echo "<font color='green'><b>Een medewerker zal uw vraag zo snel mogelijk beantwoorden</b></font>";
exit();
} else {
echo "<font color='red'><b>Bij de verwerking van uw vraag is een fout opgetreden, probeer het opnieuw</b></font>";
exit();
}
}
?>
include "klacht_config.php";
?>
<?php
if (!isset($_POST['naar_captcha'])) {
?>
<html>
<form method="post">
Naam:<input type="text" name="naam"><br>
Mail:<input type="text" name="mail"><br>
Soort:<select name="soort">
<option value="vraag">Vraag</option>
<option value="klacht">Klacht</option>
</select><br>
<input type="submit" name="naar_captcha" value="Verder"><br>
</form>
<?php
} elseif (isset($_POST['naar_captcha'])) {
echo $_POST['soort'].":<br>";
?>
<form method="post">
<input type="hidden" name="eind_naam" value="<?php echo $_POST['naam']; ?>">
<input type="hidden" name="eind_mail" value="<?php echo $_POST['mail']; ?>">
<input type="hidden" name="eind_soort" value="<?php echo $_POST['soort']; ?>">
<textarea name="eind_tekst">Wat is uw <?php echo $_POST['soort']; ?>...</textarea><br>
<?php
echo recaptcha_get_html($_CONFIG['cap']['public_key']);
?>
<input type="submit" name="submit" value="Verstuur"><br>
</form>
<?php
}
if ($_SERVER['REQUEST_METHOD'] == "POST" AND isset($_POST['submit'])) {
if ($_POST['eind_naam'] == NULL) {
echo "<font color='red'><b>Vul wel een naam in</b></font>";
exit();
}
if ($_POST['eind_mail'] == NULL) {
echo "<font color='red'><b>Vul wel een e-mail adres in</b></font>";
exit();
}if ($_POST['eind_soort'] == NULL) {
echo "<font color='red'><b>Vul wel de soort reactie in</b></font>";
exit();
}if ($_POST['eind_tekst'] == NULL) {
echo "<font color='red'><b>Vul wel een tekst in</b></font>";
exit();
}
//CAPTCHA BEGIN
$resp = recaptcha_check_answer ($_CONFIG['cap']['private_key'],
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);
if (!$resp->is_valid) {
echo "Je hebt de captcha niet goed ingevuld.";
exit();
} elseif ($resp->is_valid) {
echo "CAP";
}
//CAPTCHA EIND
$query = mysqli_query($con, "INSERT INTO formulier_hollanderict
(naam,
mail,
soort,
tekst
)
VALUES
(
'".$_POST['eind_naam']."',
'".$_POST['eind_mail']."',
'".$_POST['eind_soort']."',
'".nl2br($_POST['eind_tekst'])."'
)
");
if ($query != FALSE) {
echo "<font color='green'><b>Een medewerker zal uw vraag zo snel mogelijk beantwoorden</b></font>";
exit();
} else {
echo "<font color='red'><b>Bij de verwerking van uw vraag is een fout opgetreden, probeer het opnieuw</b></font>";
exit();
}
}
?>
Wat is het probleem? Doe ik iets fout?
Gewijzigd op 01/12/2013 16:59:56 door Koen Hollander
Een POST met alleen een cijfer gaat niet werken. $_POST['1']
- SanThe - op 01/12/2013 16:46:59:
Een POST met alleen een cijfer gaat niet werken. $_POST['1']
Die heb ik nu aangepast, alsnog de zelfde fout
Doe eens een var_dump op $resp.
Toen merkte ik dat hij heel streng is, ook met Sub domeinen. Eentje met het betreffende sub domein gemaakt en hoppa. Doet ie het. Heel erg bedankt voor de hulp. :)