PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks. |
 |

06-10-2017, 10:20
|
albagen
Registrierter Benutzer
|
|
Registriert seit: May 2017
Beiträge: 3
|
|
Kontakt Formular mit recaptcha
Hallo!
Ich habe nicht viel Ahnung von php und brauche dringend eure Hilfe.
Ich habe ein Kontakt Formular mit dem Formular Generator recaptcha erstellt www.webbausteine.de/tools/formulargenerator.php
Das Formular selbst funktioniert gut.
https://wedego.ch/beba/kontakt.php
Nun wenn ich das Formular ausfülle und schicke, kommt die Meldung unten an die gleiche Seite
Zitat:
„Vielen Dank, die Nachricht wurde versendet.
Sie erhalten eine Kopie der Nachricht an Ihre E-Mail-Adresse“
|
obwohl ich für die Erfolgsmeldung auf die Seite danke.html weiter leiten will.
Es soll noch ein syntax Error an die Linie:
$Fehler = ["name"=>"", "email"=>"", "betreff"=>"", "nachricht"=>"", "recapcha"=>""];
Ich wäre sehr dankbar wen Sie die Quelltext ansehen würden und mir sagen können wo das Problem liegt. Ich bin seit Tagen am um probieren und mir fehlt nichts Neues. Ich würde mich freuen wenn ihr mir weiterhelfen könntet.
Vielen Dank im Voraus
Geni
Zwischen Head habe ich eingefügt:
<script type="text/javascript" src="Javascript/spamspan.js"></script>
<link href="css/style_beba.css" rel="stylesheet" type="text/css" />
<!-- Google reCAPTCHA API -->
<script src='https://www.google.com/recaptcha/api.js'></script>
Die php code:
PHP-Code:
<?php /* Aktion: Formulardaten als E-Mail versenden. Formular - PHP 5.4+, Zeichenkodierung: UTF-8 Siehe: www.webbausteine.de/tipps/schriftzeichen_richtig_darstellen.php Erstellt mit dem Formular Generator (23.01.2016) - www.webbausteine.de/tools/formulargenerator.php Bitte testen Sie das Formular ausführlich und beachten Sie die Hinweise im Quelltext! */ // PHP Fehlermeldungen (1 um das Formular zu testen) anzeigen. error_reporting(0); // (0/1) // Weiterleitung - Nach dem absenden des Formulars, // gelangt der Benutzer über einen Link auf folgende Seite: $Weiterleitung = "danke.html"; $name = isset($_POST["name"]) ? strip_tags(trim($_POST["name"])) : ""; // Name $email = isset($_POST["email"]) ? strip_tags(trim($_POST["email"])) : ""; // E-Mail $betreff = isset($_POST["betreff"]) ? strip_tags(trim($_POST["betreff"])) : ""; // Betreff $nachricht = isset($_POST["nachricht"]) ? strip_tags(trim($_POST["nachricht"])) : ""; // Nachricht $KopieCk = isset($_POST["Kopie"]) ? " checked='checked'" : null; // E-Mail Kopie // Benutzereingaben überprüfen // Die Meldungen müssen hier eventuell angepasst werden. $Fehler = ["name"=>"", "email"=>"", "betreff"=>"", "nachricht"=>"", "recapcha"=>""]; if (isset($_POST["submit"])) { $Fehler["name"] = strlen($_POST["name"]) < 1 ? " Bitte füllen Sie dieses Feld aus!" : ""; $Fehler["email"] = filter_var($_POST["email"], FILTER_VALIDATE_EMAIL) === false ? " Geben Sie eine gültige E-Mail-Adresse ein!" : ""; $Fehler["betreff"] = strlen($_POST["betreff"]) < 1 ? " Bitte füllen Sie dieses Feld aus!" : ""; $Fehler["nachricht"] = strlen($_POST["nachricht"]) < 10 ? " Bitte füllen Sie dieses Feld aus (min. 10 Zeichen)!" : ""; $Fehler["recapcha"] = strlen($_POST['g-recaptcha-response']) < 100 ? " Bitte das reCAPCHA bestätigen!" : ""; } // Formular erstellen $Formular = " <form action='" . $_SERVER["SCRIPT_NAME"] . "' method='post'> <p> <label> Name: <span class='pflichtfeld'>✲ " . $Fehler["name"] . "</span><br> <input type='text' name='name' value='" . $name . "' size='50'> </label> </p> <p> <label> E-Mail: <span class='pflichtfeld'>✲ " . $Fehler["email"] . "</span><br> <input type='email' name='email' value='" . $email . "' size='50'> </label> </p> <p> <label> Betreff: <span class='pflichtfeld'>✲ " . $Fehler["betreff"] . "</span><br> <input type='text' name='betreff' value='" . $betreff . "' size='50'> </label> </p> <p> <label> Nachricht: <span class='pflichtfeld'>✲ " . $Fehler["nachricht"] . "</span><br> <textarea name='nachricht' cols='50' rows='8'>" . $nachricht . "</textarea> </label> </p> <p> <label> <input type='checkbox' name='Kopie'" . $KopieCk . "> Eine Kopie dieser Nachricht an meine E-Mail Adresse </label> </p> <div class='g-recaptcha' data-sitekey='6LeUFiwUAAA.ect'></div> <span class='pflichtfeld'>" . $Fehler["recapcha"] . "</span> <p> <br> <input type='submit' name='submit' value='Formular absenden'> </p> <p> <small>Bitte alle mit <span class='pflichtfeld'>✲</span> markierten Felder ausfüllen.</small> </p> </form> "; // Formular abgesendet if (isset($_POST["submit"])) { // Sind keine Benutzer-Eingabefehler vorhanden if (implode("", $Fehler) == "") { $captcha = $_POST['g-recaptcha-response']; // Hier muss der geheime Schlüssel (Secret Key) eingefügt werden $SecretKey = "6LeUFiwUA.ect"; $response = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=" . $SecretKey . "&response=" . $captcha . "&remoteip=" . $_SERVER['REMOTE_ADDR']); if ($response.success==true) { // Daten als E-Mail versenden (Vorschlag) - Bitte anpassen! // Zeitzone und das aktuelle Datum setzen // http://de3.php.net/manual/de/timezones.europe.php date_default_timezone_set("Europe/Berlin"); $Datum = date("d.m.Y H:i"); // Empfänger E-Mail $Mailto = "gentjana@hotmail.ch"; $betrifft= "Kontaktformular Beba DE"; // Betrifft // Inhalt der E-Mail setzen $Text = " Gesendet am: $Datum Uhr Name: $name E-Mail: $email Betreff: $betreff Nachricht: $nachricht "; // E-Mail versenden mb_internal_encoding("UTF-8"); $Betrifft = mb_encode_mimeheader($betrifft, "UTF-8", "Q"); $Kopfzeile = "MIME-Version: 1.0;\nFrom: " . mb_encode_mimeheader($name, "UTF-8", "Q") . "<" . $email . ">" . "\nContent-Type: text/plain; Charset=UTF-8;\n"; if (mail($Mailto, $Betrifft, $Text, $Kopfzeile)) { echo "<p>Vielen Dank, die Nachricht wurde versendet.</p>"; } else { // Wenn die Daten nicht versendet werden konnten, // wird die E-Mail-Adresse für den direkten Kontakt eingeblendet. echo "<p>Beim Senden der Nachricht ist ein Fehler aufgetreten!<br>" . "Bitte wenden Sie sich direkt an: <a href='mailto:" . $Mailto . "'>" . $Mailto . "</a></p>"; } // E-Mail Kopie versenden (Vorschlag) - Bitte anpassen! if (isset($_POST["Kopie"])) { // Diese Nachricht wird an die E-Mail-Adresse des Besuchers gesendet. // Name/Signatur $Signatur = "Kinderkrippe Beba"; // Betrifft $Betrifft = "Kopie von Ihrer Nachricht"; // Inhalt der E-Mail setzen $Text = " Vielen Dank für Ihren Besuch auf unserer Webseite. Wir haben folgende Nachricht erhalten: Name: $name E-Mail: $email Betreff: $betreff Nachricht: $nachricht Mit freundlichen Grüßen $Signatur "; // E-Mail Kopie versenden $Betrifft = mb_encode_mimeheader($Betrifft, "UTF-8", "Q"); $Kopfzeile = "MIME-Version: 1.0;\nFrom: " . mb_encode_mimeheader($Signatur, "UTF-8", "Q") . "<" . $Mailto . ">" . "\nContent-Type: text/plain; Charset=UTF-8;\n"; if (mail($email, $Betrifft, $Text, $Kopfzeile)) { echo "<p>Sie erhalten eine Kopie der Nachricht an Ihre E-Mail-Adresse.</p>"; } } // Weiterleitung echo "<p><a href='" . $Weiterleitung . "' target='_top'> </a></p>"; } else { echo '<h2>You are spammer ! Get out</h2>'; } } else { // Formular und Benutzer-Eingabefehler ausgeben echo $Formular; } } else { // Formular ausgeben echo $Formular; } ?>
|

06-10-2017, 10:47
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 3.784
|
|
Der Code ist voller Sicherheitslücken. Ich würde ihn entsorgen.
|

06-10-2017, 14:37
|
albagen
Registrierter Benutzer
|
|
Registriert seit: May 2017
Beiträge: 3
|
|
Danke h3ll für die schnelle Antwort.
Können Sie mir helfen die Fehler zu finden?
|
LinkBacks (?)
LinkBack to this Thread: https://www.php-resource.de/forum/php-developer-forum/106058-kontakt-formular-mit-recaptcha.html
|
Erstellt von |
For |
Type |
Datum |
Untitled document |
This thread |
Refback |
24-04-2018 01:20 |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|