Antworten auf deine Fragen:
Neues Thema erstellen

reCaptcha funktioniert nicht

azinzow

Noch nicht viel geschrieben

Kann mir jemand sagen, was ich bei meinen Versuchen, googls reCaptcha in mein Kontaktformular einzubauen, falsch mache?

Den Code und die Keys, die man von google bekommt, habe ich gemäß der Anleitung in mein Formular eingebaut. Das sollte so weit stimmen. Aber die Sache funktioniert schlichtweg nicht: ich kann von Expression Web aus weder eine Browser-Vorschau aktivieren, noch funktioniert diese Datei, nachdem ich sie auf den Server geladen habe und dann im Internet aufrufe.


Was mir überhaupt nicht klar ist:
1. Genügt es, eine einzige php-Datei zu erzeugen, also die, die das Formular enthält?
Oder brauche ich eine weitere php-Datei, in der das korrekte Ausführen der Aufgabe überprüft wird?
2. Was ist mit der Datei „recaptchalib.php“, die ich – entsprechend einigen Anleitungen – heruntergeladen und ins selben Verzeichnis wie das php-Kontakt-Formular gelegt habe?
3. Könnte ich mein Kontakt-Formular auch als eine normale html Datei speichern, wenn ich im head-Bereich ein entsprechendes Skript einbinde <script src='dummy.php'></script>?
4. Muss ein korrekt angelegtes php-Kontakt-Formular mit reCaptcha auch offline in der Browservorschau angezeigt werden? (Dass offline der eigentliche Check nicht ausgeführt werden kann, ist mir schon klar. Meine Frage zielt nur auf die Darstellung.)

Inzwischen habe ich mindesten zehn verschiedene Anleitungen oder Tutorials angesehen. Irgendwo fliege ich immer auf der Kurve. Da wird dann beispielsweise gesagt, dass einen bestimmten Code abspeichern soll – aber nicht in welchem Format und wie die Datei dann mit der eigentlichen Kontakt-Formular Datei zusammenarbeiten soll. Oder es werden einige Zeilen php-Code erläutert, ohne zu sagen, wo genau der dann zu platzieren ist. Vielleicht erscheint das den jeweiligen Autoren als so offensichtlich, dass sie es nicht erwähnen. Aber ich bin eben zu doof …

Kann mir jemand, mit Blick auf mein php-Kontakt-Formular Code, sagen, was ich tun kann? Oder zumindest, wo ich eine Anleitung finde, die idiotensicher ist?

Danke

Martin





<?php
// Variabeln
$captcha;
// Variabeln mit Inhalt aus dem Formular befüllen
if(isset($_POST['g-recaptcha-response'])){$captcha=$_POST['g-recaptcha-response'];}
else {$captcha ="";}
// Google reCaptcha Box wurde nicht angehakt
if(!$captcha){
echo 'Google reCaptcha Checkbox aktivieren';
exit;}

// Spamversuch wird geblockt, es wird keine eMail versendet
$secretKey = "XXXXreCaptchaXXXsecretKey";
$ip = $_SERVER['REMOTE_ADDR'];
$response=file_get_contents("".$secretKey."&response=".$captcha."&remoteip=".$ip);
$responseKeys = json_decode($response,true);
if(intval($responseKeys["success"]) !== 1) {
echo 'Spam';}
else {
// Hier kann z.B. eine eMail versendet werden
echo 'Ihre Eingabe war richtig!';}
?>

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="css/styles.css" media="screen" rel="stylesheet" title="CSS" type="text/css" />
<title> Feedback </title>
<script src='api.js'></script>
</head>

<body>
<!-- Begin Container -->
<div id="container">
<div>
<form id="kontaktformular" name="kontaktformular" action="http://www.formular-chef.de/fc.cgi" method="post">
<input name="empfaenger" value="anfrageX§Xdummy.de" type="hidden" />
<input name="betreff" value="Anfragen" type="hidden"/>
<p> Haben Sie Fragen oder Anregungen? </p>
<div>
<label class="kontakt" for="absender">Ihre Email:</label>
<input type="text" id="absender" name="absender" pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,3}$" required />
</div>
<div>
<label class="kontakt" for="nachricht">Ihre Nachricht:</label>
<textarea name="nachricht" cols="20" rows="5" required></textarea>
</div>
<div class="g-recaptcha" data-sitekey=" XXXXreCaptchaXXXWebKey "> </div>
<div> <input type="submit" value="Abschicken" class="absenden" /> </div>
</form>
</div>
</div> <!-- End Container -->
</body>
</html>
 

G

Gelöschtes Mitglied 633957

Guest

Es macht den Eindruck als müsste hier sehr viel Grundlagenwissen vermittelt werden, was vermutlich einige davon abgehalten hat auf Deine Anfrage zu antworten.
Auch ich kann Dir nicht wirklich weiterhelfen, da ich das Google-ReCaptcha nicht kenne und gestehen muss, dass mir die Muße fehlt mich damit jetzt genauer zu befassen. Doch wenigstens kann ich einige Deiner Fragen beantworten:
1. Genügt es, eine einzige php-Datei zu erzeugen, also die, die das Formular enthält?
Oder brauche ich eine weitere php-Datei, in der das korrekte Ausführen der Aufgabe überprüft wird?
Wenn entsprechend geschrieben, lässt sich eine Prüfung und Verarbeitung mit dem selben PHP-Dokument problemlos durchführen.
2. Was ist mit der Datei „recaptchalib.php“, die ich – entsprechend einigen Anleitungen – heruntergeladen und ins selben Verzeichnis wie das php-Kontakt-Formular gelegt habe?
Die wird vermutlich ins PHP-Dokument via include() oder require() eingebunden werden müssen. Da kann ich aber nur Vermutungen anstellen, da ich die Datei nicht kenne.
3. Könnte ich mein Kontakt-Formular auch als eine normale html Datei speichern, wenn ich im head-Bereich ein entsprechendes Skript einbinde <script src='dummy.php'></script>?
Nein, PHP-Skripte lassen sich mit o.g. Funktionen in ein bestehendes Skript einbinden, jedoch nicht über HTML-Tags. Dokumente mit PHP-Skripten haben grundsätzlich eine entsprechende .php-Dateiendung.
4. Muss ein korrekt angelegtes php-Kontakt-Formular mit reCaptcha auch offline in der Browservorschau angezeigt werden? (Dass offline der eigentliche Check nicht ausgeführt werden kann, ist mir schon klar. Meine Frage zielt nur auf die Darstellung.)
Ja und nein. Die PHP-Datei wird ebenfalls HTML-Inhalte haben die sich u.U. offline im Browser anzeigen lassen. Die PHP-Inhalte selbst aber nicht, da PHP eine serverseitige Sprache ist. Um PHP lokal auszuführen ist eine entsprechende Entwicklungsumgebung erforderlich, also stark vereinfacht ausgedrückt: Ein Programm das so tut als wäre es ein Webserver. Z.B. bietet XAMPP eine solche Umgebung.

Aber ich bin eben zu doof
Das glaube ich nicht. Es fehlt vermutlich nur etwas Wissen, das sich jedoch erlernen lässt!
Kann mir jemand, mit Blick auf mein php-Kontakt-Formular Code, sagen, was ich tun kann?
Ich hoffe, es meldet sich noch jemand der das angesprochene ReCaptcha kennt Du Dir einen guten Tipp geben kann!
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben