reCAPTCHA Validierung funktioniert nicht

Hallöchen,

um den Andauerenden Spam auf meiner (meinen) Seiten zu stoppen hab ich jetzt reCAPTCHA eingebaut (das weil ich da eh schon Key habe wegen phpBB und früher Wordpres…).

Wenn man das Formular absendet zeigt er folgendes an:
abload.de/image.php?img=sfafafevjko.jpg

Selbst wenn das Captcha richtig eingetragen wurde :stress: .
Wenn ich den Errorreport von PHP aktiviere kommt zudem folgende Meldung oberhalb des Captchas:

Spamschutz: Notice: Undefined index: recaptcha_response_field in /var/www/vhosts/antribute.eu/httpdocs/content/pages/blog.php on line 85

Zeile 85 der besagten Datei:

if ($_POST["recaptcha_response_field"]) {

Den gesamten Quelltext der blog.php hab ich hier mal auf Pastebin der Übersichtlichkeit halber :slight_smile:!

pastebin.com/CpfejpaK

Hab mich was den Einbau von reCAPTCHA angeht genau an diese tolle Anleitung gehalten… scheint ja aber falsch zu sein.

Bei weiteren Fragen (mehr Code nötig als nur die blog.php ôO?) her damit ^^.

MfG Syntafin

Du solltest es folgendermaßen machen:

[quote=“progandy”]Du solltest es folgendermaßen machen:

Der Fehler wird nicht angezeigt mehr ja…
Aber nach Absenden weiterhin der “dreck” mit angeblich ungültig:

Über dem reCAPTCHA steht auch:

Problem besteht weiterhin, nach absenden des Formulares wird angezeigt das das Captcha falsch eingegeben wurde obwohl es richtig sein sollte.

Um mal hier Klarheit zu schaffen was wo ist splitte ich die Datei auf!

Gesamte Datei:
pastebin.com/kcUP9nwZ

Formular zum Kommentareintragen mit reCAPTCHA:
pastebin.com/3GrTqpAe

reCAPTCHA Prüfcode mit Datenbank INSERT für Kommentar:
pastebin.com/971TEUuw

Falls einem der Fehler auffällt der hier offensichtlich vorliegt wäre schön es zu melden :slight_smile:!

reCaptcha funktioniert nur zusammen mit bplaced PRO, da eine Verbindung vom bplaced-Server zu reCaptcha hergestellt werden muss.

Danke weiß ich auch… ich bin nicht bei bplaced… du bist hoffentlich der letzte der das glaubt.

Damit du es vlt. besser siehst es dreht sich um folgende Seite:
antribute.eu

Wenn ich mich jetzt nicht im Code verlaufen habe, dann führst du die Korrektheits-Prüfung an zwei Stellen aus. Das Captcha wird aber nur ein einziges Mal akzeptiert.

Nun stimmt, bei näherem betrachten hab ich es auch gesehen, wenn ich aber die Abfrage unten auslasse wird selbst bei falschem CAPTCHA/keinem das dann eingetragen -> nicht sinn der Sache :stress:

Nun stimmt, bei näherem betrachten hab ich es auch gesehen, wenn ich aber die Abfrage unten auslasse wird selbst bei falschem CAPTCHA/keinem das dann eingetragen -> nicht sinn der Sache :stress:[/quote]
Das heißt, die Seite ist schlecht strukturiert. Wie wäre folgendes:

$formerrors = array(); if ($success = check_form($formerrors)) { submit_form(); } show_entries(); if (!empty($formerrors)) { show_errors(); } else if ($success) { show_success(); } show_form();

Kannst du auch mal kurz erklären wo das hin soll :susp: weil bevor ich da jetzt irgendwas einbaue… :stress:

Das soll nirgendwo hin. Das ist eine von mir vorgeschlagene Umstrukturierung deines PHP-Skripts.

So aus dem Kontex gerissen kann man damit nicht viel Anfangen, müsste schon wissen was du umstrukturieren willst!

Hmm, ich dachte die Platzhalterfunktionen sind klar benannt?
Als erstes prüfst du, ob das Formular abgesendet wurde und wenn ja, dann ob es valide ist. Die Ergebnisse speicherst du in Variablen. Das ist die erste Aktion beim Aufruf des Skripts. Falls das erfolgreich ist, sende die Mail.
Anschließend läuft der Rest ab, also zeige deine Kommentare und Beiträge an.
Nun kommst du zum Formular am Ende der Seite. Prüfe die am Anfang erstellten Variablen. Wenn Fehler auftraten, dann zeigst du sie an. Falls das Formular erfolgreich gesendet wurde, dann kommt die Erfolgsmeldung. Wenn gar keine Daten ans Skript gesendet wurden mach nichts.
Zuletzt zeige das Formular an.

Nun bin ehrlich… derzeit überprüft er nichteinmal ob etwas eingegeben wurde auf Serverseite.
Von daher ist das von dir für mich nur wilder Kaudawelsch wo es meines erachtens gut wäre es zu erklären :slight_smile: ich mag es nicht jetzt einfach reinkopieren und gut sein zu lassen…

[quote=“SirZimt”]Nun bin ehrlich… derzeit überprüft er nichteinmal ob etwas eingegeben wurde auf Serverseite.
Von daher ist das von dir für mich nur wilder Kaudawelsch wo es meines erachtens gut wäre es zu erklären :slight_smile: ich mag es nicht jetzt einfach reinkopieren und gut sein zu lassen…[/quote]
Einfach reinkopieren und gut sein lassen funktioniert nicht, ich habe dir nur ein Gerüst gezeigt, das du mit Inahlt füllen musst. Hast du den Ansatz in meinem letzten Beitrag jetzt verstanden?

[quote=“progandy”][quote=“SirZimt”]Nun bin ehrlich… derzeit überprüft er nichteinmal ob etwas eingegeben wurde auf Serverseite.
Von daher ist das von dir für mich nur wilder Kaudawelsch wo es meines erachtens gut wäre es zu erklären :slight_smile: ich mag es nicht jetzt einfach reinkopieren und gut sein zu lassen…[/quote]
Einfach reinkopieren und gut sein lassen funktioniert nicht, ich habe dir nur ein Gerüst gezeigt, das du mit Inahlt füllen musst. Hast du den Ansatz in meinem letzten Beitrag jetzt verstanden?[/quote]

Nun gut, das umstrukturieren kann ich machen wenn mal alles wieder läuft ^^… weil derzeit läuft echt null =) selbst das Menü ist hinüber oO…

bake to the basics: tut.php-quake.net/de/

Lé Menüproblem gelöst… ich hab nur was vergessen umzuschreiben :ps: .
Aber lé reCAPTCHA funktioniert so auch nicht :astonished: .

Hab nun endlich eine Antwort im offiziellen Support Forum bekommen… progandy du hattest nicht ganz Unrecht, der Fehler das es Doppel prüft war auf Seiten der Anleitung (das war der Falsche Link zu einer Veralteten Falschen Version oO).

Funktioniert nun :slight_smile:.
Weiß übrigens jemand wie ich es vermeiden kann das er trotz eintragen das Kommentar erst nach erneutem Laden anzeigt :slight_smile:?

Die Reihenfolge ist wichtig. Erst den neuen Beitrag eintragen, dann die Kommentare auslesen.