[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • YForm Formbuilder | validate mit customfunction
Seite 1 von 1

YForm Formbuilder | validate mit customfunction

Verfasst: 13. Feb 2018, 18:03
von Redaxor
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?