Folgendes Szenario - ich habe im Formulargenerator ein Formular mit folgenden Feldern erzeugt:
form.PNG
Das letzte Feld ist, wie ersichtlich, eine Sicherheitsfrage.
Weiters habe ich eine NotificationHook erstellt welche bei erfolgreichem Senden einer Notifcation eine $_SESSION-Variable setzt und eine validateFormField-Hook, welche die selbe Session Variable mit einem anderen Wert setzt.
PHP-Code:
class MyNotificationHook
{
public function execute($objMessage, $arrTokens, $language, $objGatewayModel)
{
$_SESSION['notification_sent'] = 'successful';
return true;
}
}
class MyValidateHook
{
public function myValidateFormField(Widget $objWidget, $intId, $arrForm)
{
$_SESSION['notification_sent'] = 'error';
return $objWidget;
}
}
Grundsätzlich erfüllt diese Lösung auch meinen vorgedachten Zweck.
Fülle ich das Formular aus und beantworte die Sicherheitsfrage korrekt, so wird die Session Variable auf "successful" gesetzt. Sende ich das selbe Formular nochmal mit falscher Sicherheitsfrage ab, so sollte sich der Wert auf "error_validate" ändern. Das geschieht jedoch nicht, bzw. komischerweise erst wenn ich die Sicherheitsfrage zum 2x falsch beantworte und das Formular absende.
Nach längerer Fehlersuche konnte ich einfach nicht herausfinden wieso sich die Hook so verhält.
Habe ich irgendwo einen Denkfehler? Jegliche Hilfestellung wird dankend angenommen!
Lesezeichen