re/captcha wil niet in bestaand reactiescript

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Frank dak

frank dak

01/09/2010 22:08:32
Quote Anchor link
Hallo,
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)
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
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>&nbsp;</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>&nbsp;</p>
<form method="post">
<p>&nbsp;</p>
<p>Naam:
  <input type="text" name="naam"><br>
</p>
<p>&nbsp;</p>
<p>E-mail:
  <input name="email" type="text" value="" />
  *wordt niet getoond
  <br>
</p>
<p>&nbsp;</p>
<p>Reactie:<br>
<textarea cols="45" rows="4" name="reactie"></textarea>
<br>
<input type="submit" value="Versturen">
</p>
</form>
<p>&nbsp;</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
 
PHP hulp

PHP hulp

22/12/2024 18:16:28
 
- Raoul -

- Raoul -

01/09/2010 22:13:10
Quote Anchor link
woeps
Gewijzigd op 01/09/2010 22:19:22 door - Raoul -
 
Carlo boy

Carlo boy

02/09/2010 21:23:36
Quote Anchor link
Je moet in je formulier deze tekst toevoegen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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);
    ?>
 
Frank dak

frank dak

03/09/2010 18:30:26
Quote Anchor link
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.
 
Vincent Huisman

Vincent Huisman

03/09/2010 18:35:40
Quote Anchor link
dan moet je verify.php er natuurlijk ook bijvoegen bij de cotrole
 
Frank dak

frank dak

03/09/2010 19:46:54
Quote Anchor link
Ok ik heb het volgende geprobeert.

Ik krijg een bestand verify.php, recaptchalib.php en reacties.php

voeg toe aan mijn reactiescript

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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);
    ?>

dan zou het moeten lukken dacht ik..

Fatal error: Call to undefined function recaptcha_get_html() in /on line 50
 
Pim -

Pim -

03/09/2010 20:39:34
Quote Anchor link
Dan lukt het includen van die pagina waarschijnlijk niet.
Zet error_reporing op error_reporting(E_ALL | E_STRICT); en geef je form-tag een action attribuut.
 



Overzicht Reageren

 
 

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.