Urs Etter fragt: "
wie kann nach Formulareingabe ( zb. Login ) bei TRUE auf einen andern Inhalt verwiesen werden (URL) - Bei Logon Bspw. wird mit Clear in Websitebaker einfach das Formula entfernt - ein Auslesen des Erfolges "Passwort=ok" wäre eine gute Sache. In welchem Programmteil soll ich ergänzen (Form.htt)?."
Dies lässt sich durch eine Ergänzung des kit_form Droplet realisieren.
BACKEND --> Admin-Tools --> Droplets --> kitForm --> Ändern
In Zeile 98 gibt das Droplet das Ergebnis des Formulars zurück:
return $formular->action();
Benötigt wird eine Überprüfung der Rückgabe und ggf. eine Weiterleitung. Dazu wird der Code wie folgt geändert:
$result = $formular->action();
if (is_bool($result) && ($result == true) && (isset($redirect))) {
// special case: redirect the user after a login
require_once WB_PATH.'/modules/kit/class.interface.php';
$kitInterface = new kitContactInterface();
// redirect only if the user is authenticated!
if ($kitInterface->isAuthenticated())
header("Location: $redirect");
}
return $result;
Dadurch wird folgendes erreicht:
- die Rückgabe wird in der Variablen $result gespeichert
- bei einem erfolgreichen Login gibt kitForm ein boolsches true zurück, dies wird für eine Prüfung genutzt, die zusätzlich
- durch eine Prüfung ergänzt wird, ob dem Droplet der Paramter redirect übergeben wurde.
- treffen beide Bedingungen zu, lädt das Droplet das KIT Interface und
- überprüft, ob der User in KIT angemeldet (authentifiziert) ist.
- Trifft auch dies zu, leitet das Droplet den User auf die URL um, die mit dem Paramter redirect übergeben wurde.
Ein beispielhafter Aufruf:
als redirect muss eine vollständige URL angegeben werden.
Hinweis: Diese Änderung wird ab kitForm 0.40 fester Bestandteil des Droplets kit_form sein.
Ralf Hertsch