Problem mit Mail Funktion

Hallo

Ich habe ein Problem mit meinem Kontakt Bereich meiner Homepage. Die Übermittlung der Daten ist kein Problem aber ich bekomme immer die Info von recaptcha mit der Mail mitgesendet und habe keine Idee wie ich das verhindern kann.

Seite : http://www.jans-reptilien.de/kontakt.php

[CODE]


Kontakt


        <form name="feedback" method="post" action="mail_form.php">
            <ol>
                <li><h3><label for="name">Name</label></h3>
                <input type="text" name="name" id="name"></li>

                <li><h3><label for="telephone">Telefon</label></h3>
                <input type="text" name="telephone" id="telephone"></li>

                <li><h3><label for="name">Email</label></h3>
                <input type="text" name="email" id="email"></li>

                <li><h3><label for="comments">Text</label></h3>
                <textarea name="comments" id="comments" cols="45" rows="5"></textarea></li>      

                <?php

                require_once('recaptchalib.php');
                $publickey = "6LcWW-8SAAAAAPw2ccz67AFetREh07wjxaeWJQf0"; // you got this from the signup page
                echo recaptcha_get_html($publickey);
                ?>

                <li><input name="submit" type="submit" class="submit" id="submit" value="Submit"></li>
            </ol>
        </form>    [/CODE]

Der Inhalt von mail_form.php ist relevant, nicht der HTML-Code.

[CODE]<?php
require_once(‚recaptchalib.php‘);
$privatekey = „6LcWW-8SAAAAAPqjDq4G71qtgd29xhgWOUOWC_“;
$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 („Sicherheitscode falsch eingegeben bitte nochmal versuchen.“ .
„“);
} else {
// Your code here to handle a successful verification
}

Konfiguration

Bitte passen Sie die folgenden Werte an, bevor Sie das Script benutzen!

An welche Adresse sollen die Mails gesendet werden?

$strEmpfaenger = ‚info@jans-pflanzenwelt.de‘;

Welche Adresse soll als Absender angegeben werden?

(Manche Hoster lassen diese Angabe vor dem Versenden der Mail ueberschreiben)

$strFrom = ‚„Jans Pflanzenwelt“ info@jans-pflanzenwelt.de‘;

Welchen Betreff sollen die Mails erhalten?

$strSubject = ‚Feedback Jans Pflanzenwelt‘;

Zu welcher Seite soll als „Danke-Seite“ weitergeleitet werden?

Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben!

$strReturnhtml = ‚http://www.jans-pflanzenwelt.de/danke.php‘;

Welche(s) Zeichen soll(en) zwischen dem Feldnamen und dem angegebenen Wert stehen?

$strDelimiter = „:\t“;

Ende Konfiguration

if($_POST)
{

Abfragen, ob alle wichtigen Felder gesetzt sind

{
$strMailtext = „“;

while(list($strName,$value) = each($_POST))
{
if(is_array($value))
{
foreach($value as $value_array)
{
$strMailtext .= $strName.$strDelimiter.$value_array.„\n“;
}
}
else
{
$strMailtext .= $strName.$strDelimiter.$value.„\n“;
}
}
}

if(get_magic_quotes_gpc())
{
$strMailtext = stripslashes($strMailtext);
}

mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom)
or die(„Die Mail konnte nicht versendet werden.“);
header(„Location: $strReturnhtml“);
exit;
}

?>
[/CODE]

Sorry hier der code

Mit
[PHP]while(list($strName,$value) = each($_POST))[/PHP]
durchläufst du alle Formuarfelder, also auch Recaptcha und Submit. Ein unset dieser beiden Werte vor der Schleife wird helfen

Könntest du mir das genauer erklären? Sorry bin da nicht so fitt

Das sind immer Sprüche, die kann ich echt nicht mehr hören. Wir reden hier von Grundlagen und die zu benutzende Methode habe ich dir schon genannt.

Vor der Schleife:
[PHP]if (isset($_POST[„recaptcha_challenge_field“]))
unset($_POST[„recaptcha_challenge_field“]);

if (isset($_POST[„recaptcha_response_field“]))
unset($_POST[„recaptcha_response_field“]);

if (isset($_POST[„submit“]))
unset($_POST[„submit“]); [/PHP]

Naja, eigentlich ist es schon mal ein NoGo, POST-Werte einfach blind zu verarbeiten.
Deshalb müsste man das ganze Script schon mal neu schreiben.

Um trotzdem eine Lösung zu haben, sieh dir deine Mail an, die du bekommen hast.
Dort siehst du die Feldnamen, zB: submit: Submit

Vor der While Schleife schreibst du dann:
[PHP]unset($_POST[‚submit‘]);[/PHP]
für jedes Feld das im Weg ist.

Vielen dank für die Hilfe es geht. Ich mache das ganze nur wegen meines Hobbys und habe mich mit HTML ganz gut reingefuchst aber PHP ist nicht wirklich meins. Darum noch mal danke für die schnelle und gute Hilfe.