kitForm - Redirect nach erfolgreichem Login

36 views
Skip to first unread message

Ralf Hertsch

unread,
Nov 5, 2012, 2:45:00 AM11/5/12
to phpmanufak...@googlegroups.com
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
Reply all
Reply to author
Forward
0 new messages