Hallo, lieber Forum Benutzer. Wir haben in letzter Zeit festgestellt, dass die Kommunikation via https://slack.com/ viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen Möglichkeiten der Kommunikation ist das Forum ein wenig eingeschlafen und weniger Nutzer benutzen das Forum aktiv (trotzdem lohnt es sich evtl. hier nach Lösungen zu suchen oder seine Frage zu stellen).

Wir empfehlen bei Fragen/Problemen aktuell die Frage (zusätzlich) im Slack zu stellen. Dort sind viele kompetente REDAXO Benutzer aktiv und beantworten gerne (Anfänger)Fragen.

Selbst einladen kannst Du dich hier: http://redaxo.org/slack/

Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Redaxor
Beiträge: 4
Registriert: 30. Jan 2018, 16:58

YForm Formbuilder | validate mit customfunction

13. Feb 2018, 18:03

Hallo,

ich versuche Spamschutz für ein Kontaktformular via Zeitstempel umzusetzen und verwende dafür einfach den Beispiel-Code aus der Doku:


Im Formbuilder:

Code: Alles auswählen

php|validate_timer|Spamschutz|<?php echo '<input name="validate_timer" type="hidden" value="'.microtime(true).'" />' ?>|
validate|customfunction|validate_timer|yform_validate_timer|5|Spambots haben keine Chance|

In project/boot.php

Code: Alles auswählen

function yform_validate_timer($label,$microtime,$seconds) {
    if (($microtime + $seconds) > microtime(true)) {
        return true;
    } else {
        return false;
    }
}

Das funktioniert für mich leider nicht so wie angegeben. Zum einen ist $microtime immer leer so dass ich die entsprechende POST Variable auswerten muss:

Code: Alles auswählen

$microtime = $_POST[$label];

Zum anderen ist die Logik der Funktion quasi umgedreht. Wenn die 5 Sekunden abgelaufen sind klappt der Submit nicht mehr, vorher schon. Da heißt als Workaround muss ich true und false vertauschen bzw. im Formbuilder ein ! verwenden.


Hat zu dem Thema jemand Ideen/Erfahrungen? Mache ich irgendwo einen Fehler?

Zurück zu „AddOns / Packages [R5]“