Captcha in email formulier plaatsen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Sen I

Sen I

22/01/2010 20:15:00
Quote Anchor link
Beste mensen,
Ik wil captcha invoegen in me emailformulier. Contact pagina is me gelukt maar als je op verzenden klikt, krijg ik error. wat ik ook heb geprobeerd, het is me niet gelukt,

een beetje hulp stel ik zeer op prijs.
alvast bedankt

Voorbeeld staat op http://www.taxischipholservice.be/tss/online/nl/contact.php

Hier zijn de paginas

Pagina 1
contact.php
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
<h1>Contact ons</h1><br />
<form method="post" action="contact_email.php">
<table>
    <tr>
        <td>Naam</td>
                <td>:</td>
        <td><input type="text" value="" name="naam">
        </td>
    </tr>
    <tr>
        <td>Telefoon</td><td>:</td>
        <td>
            <input type="text" value="" name="telefoon">
        </td>
    </tr>
    <tr>
        <td>E-mail</td><td>:</td>
        <td>
            <input type="text" value="" name="email">
        </td>
    </tr>
    <tr>
        <td>Onderwerp</td><td>:</td>
        <td>
            <input type="text" value="" name="onderwerp">
        </td>
    </tr><tr>
        <td>Opmerkingen&nbsp;</td><td>:</td>
        <td>
            <textarea name="opmerkingen" Rows="5" Cols="49"></textarea>
        </td>
    </tr>
    <tr>
        <td>Word verification</td><td>:</td>
        <td>
            <div><img src="../../images/captcha/index.php?<?php echo session_name()?>=<?php echo session_id()?>" style="vertical-align:middle" /> <input type="text" name="keystring"></p>
        </td>
    </tr>
    <tr>
        <td>&nbsp;</td><td>&nbsp;</td>
        <td><INPUT TYPE="checkbox" NAME="usermail" value="usermail"><small>E-mail een kopie van dit bericht naar uw eigen e-mailadres.</small>
        </td>
        </tr>
         <tr>
        <td>&nbsp;</td><td>&nbsp;</td>
        <td><input type="submit" value=" Verzenden " name="submit">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                <input type="reset" value=" Opnieuw "></td>
    </tr>
</table>
</form>      
<br />
      <table>
<tr> <td>&nbsp;
</td></tr></table>
      <div>&nbsp;</div>
      
      
</div>


Pagina 2
contact_email.php
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
<?php
// Data Form
$Onderwerp = $_POST['onderwerp'];
$Van = $_POST['email'];
$Ip .= $_SERVER['REMOTE_ADDR'];
$referer = $_SERVER['HTTP_REFERER'];
$logfile = date("d-m-Y, H:i:s", time());
if (isset($_POST["naam"])) $naam = $_POST["naam"];
if (isset($_POST["telefoon"])) $telefoon = $_POST["telefoon"];
if (isset($_POST["email"])) $email = $_POST["email"];
if (isset($_POST["onderwerp"])) $onderwerp = $_POST["onderwerp"];
if (isset($_POST["opmerkingen"])) $opmerkingen = $_POST["opmerkingen"];

$errors = array();
if (empty($naam)) $errors[] = "Naam";
if (empty($telefoon)) $errors[] = "Telefoon";
if(!preg_match ("/^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,6}$/i", $_POST['email'])){    $errors[] = 'Correct e-mail'; }
if (empty($onderwerp)) $errors[] = "Onderwerp";
if (empty($opmerkingen)) $errors[] = "Opmerkingen";
if (empty($keystring)) $errors[] = "Word verification";

if ((count($errors)) != 0){
    echo "<h1>Er is fout opgetreden, controleer de gegevens hieronder:</h1><br><font color='red'>";
    for ($i=0; $i<count($errors); $i++){
        echo $errors[$i]." invullen s.v.p.<br>";
    }

    echo "</font><br />";
    echo "<a href='javascript:javascript:history.go(-1)'><font color='Blue'>Terug</font></a>";
    }
else {
    
if(isset($_POST['usermail'])) mail("$Van", "$Onderwerp", "Contact ons

Naam: $naam
Telefoon: $telefoon
E-mail: $email
Onderwerp: $onderwerp
Opmerkingen: $opmerkingen"
, "From: $Van");
          
    require "../libs/db.php";
    $sql = "INSERT INTO emailcontact VALUES (NULL, '$naam', '$telefoon', '$email', '$onderwerp', '$opmerkingen', '$logfile', '$Ip', '$referer')";
    $res = mysql_query($sql);
//    $res = 1;
    if ($res){
        
        require "../libs/config.php";
        $ord = mysql_query("SELECT id FROM contactemail ORDER BY id DESC LIMIT 1");
        $row = mysql_fetch_row($ord);
        
    
        
     if (!empty($email)){
            $receiver = $email;
        }


                $aan = "[email protected]";
        $onderwerp = "$onderwerp";
        $reservering = "
        <h3>Contact ons </h3>
<table>
    <tr><td>Naam</td><td>:</td><td>$naam</td></tr>
    <tr><td>Telefoon</td><td>:</td><td>$telefoon</td></tr>
    <tr><td>E-Mail</td><td>:</td><td>$email</td></tr>
    <tr><td>Onderwerp</td><td>:</td><td>$onderwerp</td></tr>
    <tr><td>Opmerkingen</td><td>:</td><td>$opmerkingen</td></tr>
</table>"
;

        $headers = "From: ".$naam." <".$email.">\r\n";    
        $headers .= "MIME-Version: 1.0\r\n";
        $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
        $headers .= "Reply-To: ".$naam." <".$email.">\r\n";
        mail($aan, $onderwerp, $reservering, $headers);


?>


<h1>Contact ons </h1><br />
<strong>De volgende informatie is verzonden. We zullen zo spoedig mogelijk uw e-mail beantwoorden!</strong>
<br /><br />
<table>
    <tr><td>Naam</td><td>:</td><td><?php echo $naam?></td></tr>
    <tr><td>Telefoon</td><td>:</td><td><?php echo $telefoon?></td></tr>
    <tr><td>E-mail</td><td>:</td><td><?php echo $email?></td></tr>
    <tr><td>Onderwerp</td><td>:</td><td><?php echo $onderwerp?></td></tr>
    <tr><td>Opmerkingen</td><td>:</td><td><?php echo $opmerkingen?></td></tr>
</table>

<?php
mysql_close($link);
}
else {
    echo "<h2>Er is fout opgetreden, probeer opnieuw</h2>";
}
}

?>


      <br />
      
      <div>&nbsp;</div>
      
      
</div>
    <div class="clear"></div>
  </div>


En dit is het voorbeeld wat ik van internet heb gedownload
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
<?php
    session_start();
?>

<!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>
<title>Sample Email Form: Thank You</title>
<?php
     if (isset($_POST['submit'])) {
        if (isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] ==  $_POST['keystring']) {
             // Grab the form vars
             $email = (isset($_POST['email'])) ? $_POST['email'] : '' ;
             $message = (isset($_POST['message'])) ? $_POST['message'] : '' ;
             $name = (isset($_POST['name'])) ? $_POST['name'] : '' ;
            
             // Check for email injection
             if (has_emailheaders($email)) {
              die("Possible email injection occuring");
             }

            
             mail("[email protected]","Email Subject ",
             "Name: $name\n
             Email: $email\n\n
             $message"
,
             "From: $email");
             $message = 'Your feedback has been received.';
        }
else {
            $message = 'The word verification was not correct.  Please press back and resubmit.';
        }
    }
else {
        $message = 'Please use the contact form for communication';
    }
    
function
has_emailheaders($text) {
    return preg_match("/(%0A|%0D|\n+|\r+)(content-type:|to:|cc:|bcc:)/i", $text);
}

?>

</head>
<body>
 <div style="text-align:center">
  <h1>Thank You for filling out our form</h1>
  <h2><?php echo $message; ?></h2>
 </div>
</body></html>
Gewijzigd op 01/01/1970 01:00:00 door Sen I
 
PHP hulp

PHP hulp

29/11/2024 23:50:00
 
Sen I

Sen I

23/01/2010 21:05:00
Quote Anchor link
Sen schreef op 22.01.2010 20:15:
Beste mensen,
Ik wil captcha invoegen in me emailformulier. Contact pagina is me gelukt maar als je op verzenden klikt, krijg ik error. wat ik ook heb geprobeerd, het is me niet gelukt,

een beetje hulp stel ik zeer op prijs.
alvast bedankt

Voorbeeld staat op http://www.taxischipholservice.be/tss/online/nl/contact.php

Hier zijn de paginas

Pagina 1
contact.php
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
<h1>Contact ons</h1><br />
<form method="post" action="contact_email.php">
<table>
    <tr>
        <td>Naam</td>
                <td>:</td>
        <td><input type="text" value="" name="naam">
        </td>
    </tr>
    <tr>
        <td>Telefoon</td><td>:</td>
        <td>
            <input type="text" value="" name="telefoon">
        </td>
    </tr>
    <tr>
        <td>E-mail</td><td>:</td>
        <td>
            <input type="text" value="" name="email">
        </td>
    </tr>
    <tr>
        <td>Onderwerp</td><td>:</td>
        <td>
            <input type="text" value="" name="onderwerp">
        </td>
    </tr><tr>
        <td>Opmerkingen&nbsp;</td><td>:</td>
        <td>
            <textarea name="opmerkingen" Rows="5" Cols="49"></textarea>
        </td>
    </tr>
    <tr>
        <td>Word verification</td><td>:</td>
        <td>
            <div><img src="../../images/captcha/index.php?<?php echo session_name()?>=<?php echo session_id()?>" style="vertical-align:middle" /> <input type="text" name="keystring"></p>
        </td>
    </tr>
    <tr>
        <td>&nbsp;</td><td>&nbsp;</td>
        <td><INPUT TYPE="checkbox" NAME="usermail" value="usermail"><small>E-mail een kopie van dit bericht naar uw eigen e-mailadres.</small>
        </td>
        </tr>
         <tr>
        <td>&nbsp;</td><td>&nbsp;</td>
        <td><input type="submit" value=" Verzenden " name="submit">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                <input type="reset" value=" Opnieuw "></td>
    </tr>
</table>
</form>      
<br />
      <table>
<tr> <td>&nbsp;
</td></tr></table>
      <div>&nbsp;</div>
      
      
</div>


Pagina 2
contact_email.php
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
<?php
// Data Form
$Onderwerp = $_POST['onderwerp'];
$Van = $_POST['email'];
$Ip .= $_SERVER['REMOTE_ADDR'];
$referer = $_SERVER['HTTP_REFERER'];
$logfile = date("d-m-Y, H:i:s", time());
if (isset($_POST["naam"])) $naam = $_POST["naam"];
if (isset($_POST["telefoon"])) $telefoon = $_POST["telefoon"];
if (isset($_POST["email"])) $email = $_POST["email"];
if (isset($_POST["onderwerp"])) $onderwerp = $_POST["onderwerp"];
if (isset($_POST["opmerkingen"])) $opmerkingen = $_POST["opmerkingen"];

$errors = array();
if (empty($naam)) $errors[] = "Naam";
if (empty($telefoon)) $errors[] = "Telefoon";
if(!preg_match ("/^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,6}$/i", $_POST['email'])){    $errors[] = 'Correct e-mail'; }
if (empty($onderwerp)) $errors[] = "Onderwerp";
if (empty($opmerkingen)) $errors[] = "Opmerkingen";
if (empty($keystring)) $errors[] = "Word verification";

if ((count($errors)) != 0){
    echo "<h1>Er is fout opgetreden, controleer de gegevens hieronder:</h1><br><font color='red'>";
    for ($i=0; $i<count($errors); $i++){
        echo $errors[$i]." invullen s.v.p.<br>";
    }

    echo "</font><br />";
    echo "<a href='javascript:javascript:history.go(-1)'><font color='Blue'>Terug</font></a>";
    }
else {
    
if(isset($_POST['usermail'])) mail("$Van", "$Onderwerp", "Contact ons

Naam: $naam
Telefoon: $telefoon
E-mail: $email
Onderwerp: $onderwerp
Opmerkingen: $opmerkingen"
, "From: $Van");
          
    require "../libs/db.php";
    $sql = "INSERT INTO emailcontact VALUES (NULL, '$naam', '$telefoon', '$email', '$onderwerp', '$opmerkingen', '$logfile', '$Ip', '$referer')";
    $res = mysql_query($sql);
//    $res = 1;
    if ($res){
        
        require "../libs/config.php";
        $ord = mysql_query("SELECT id FROM contactemail ORDER BY id DESC LIMIT 1");
        $row = mysql_fetch_row($ord);
        
    
        
     if (!empty($email)){
            $receiver = $email;
        }


                $aan = "[email protected]";
        $onderwerp = "$onderwerp";
        $reservering = "
        <h3>Contact ons </h3>
<table>
    <tr><td>Naam</td><td>:</td><td>$naam</td></tr>
    <tr><td>Telefoon</td><td>:</td><td>$telefoon</td></tr>
    <tr><td>E-Mail</td><td>:</td><td>$email</td></tr>
    <tr><td>Onderwerp</td><td>:</td><td>$onderwerp</td></tr>
    <tr><td>Opmerkingen</td><td>:</td><td>$opmerkingen</td></tr>
</table>"
;

        $headers = "From: ".$naam." <".$email.">\r\n";    
        $headers .= "MIME-Version: 1.0\r\n";
        $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
        $headers .= "Reply-To: ".$naam." <".$email.">\r\n";
        mail($aan, $onderwerp, $reservering, $headers);


?>


<h1>Contact ons </h1><br />
<strong>De volgende informatie is verzonden. We zullen zo spoedig mogelijk uw e-mail beantwoorden!</strong>
<br /><br />
<table>
    <tr><td>Naam</td><td>:</td><td><?php echo $naam?></td></tr>
    <tr><td>Telefoon</td><td>:</td><td><?php echo $telefoon?></td></tr>
    <tr><td>E-mail</td><td>:</td><td><?php echo $email?></td></tr>
    <tr><td>Onderwerp</td><td>:</td><td><?php echo $onderwerp?></td></tr>
    <tr><td>Opmerkingen</td><td>:</td><td><?php echo $opmerkingen?></td></tr>
</table>

<?php
mysql_close($link);
}
else {
    echo "<h2>Er is fout opgetreden, probeer opnieuw</h2>";
}
}

?>


      <br />
      
      <div>&nbsp;</div>
      
      
</div>
    <div class="clear"></div>
  </div>


En dit is het voorbeeld wat ik van internet heb gedownload
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
<?php
    session_start();
?>

<!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>
<title>Sample Email Form: Thank You</title>
<?php
     if (isset($_POST['submit'])) {
        if (isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] ==  $_POST['keystring']) {
             // Grab the form vars
             $email = (isset($_POST['email'])) ? $_POST['email'] : '' ;
             $message = (isset($_POST['message'])) ? $_POST['message'] : '' ;
             $name = (isset($_POST['name'])) ? $_POST['name'] : '' ;
            
             // Check for email injection
             if (has_emailheaders($email)) {
              die("Possible email injection occuring");
             }

            
             mail("[email protected]","Email Subject ",
             "Name: $name\n
             Email: $email\n\n
             $message"
,
             "From: $email");
             $message = 'Your feedback has been received.';
        }
else {
            $message = 'The word verification was not correct.  Please press back and resubmit.';
        }
    }
else {
        $message = 'Please use the contact form for communication';
    }
    
function
has_emailheaders($text) {
    return preg_match("/(%0A|%0D|\n+|\r+)(content-type:|to:|cc:|bcc:)/i", $text);
}

?>

</head>
<body>
 <div style="text-align:center">
  <h1>Thank You for filling out our form</h1>
  <h2><?php echo $message; ?></h2>
 </div>
</body></html>
 
Sen I

Sen I

23/01/2010 21:07:00
Quote Anchor link
a
 



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.