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]“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste