WebsiteBaker Support (2.13.x) > Hilfe & Support (deutsch)
Variablen und Konstanten und Umleiten nach Logout
markherrmann:
Guten Abend,
ich möchte das Thema Redirect nach Logout noch mal aufgreifen...
Die neue Version von WB zeigt nach dem Logout in der Adresszeile wie folgt an: https://xxxxxx.de/account/logout.php (das ist ein Problem), als Inhalt wird die abmeldende Seite angezeigt (das ist ok).
Folgendes habe ich probiert...
* Einbindung des Droplets "LoginBox" auf der Testseite (CODE Modul) (mit Angabe des Redirects)
* Einbindung des Droplets "LoginBox" im Template der Testseite (mit Angabe des Redirects)
* Implementation eigenes Form direkt auf der Testseite (CODE Modul)
* Implementation eigenes Form im Template der Testseite (CODE Modul)
Das Ergebnis ist immer das gleiche. Login unproblematisch, ein erneuter Login wird jedoch verhindert, wenn man mal abgemeldet ist. (ich denke mal ein Indiz ist die URL im Browser nach Logout). Ich hab das auch mal auf einer WB Instanz 2.12.2 r379 getestet, dort geht's und die URL nach Logout zeigt nur die Adresse der Seite, auf der das <form>...</form> angezeigt wird.
Zum besseren Verständnis zeige ich mal den (aufs wesentliche beschränkten) Teil des Codes, der im Template das Form anzeigt.
--- Code: ---<form method="post" action="<?php echo LOGIN_URL; ?>">
<input type="hidden" name="redirect" value="<?php echo WB_URL.$_SERVER['PHP_SELF']; ?>">
<input type="text" placeholder="<?php echo $TEXT['USERNAME']; ?>" required id="input_name" name="username" autocomplete="off">
<input type="password" placeholder="<?php echo $TEXT['PASSWORD']; ?>" required id="input_password" name="password" autocomplete="off">
<input type="submit" value="Anmelden" class="primary" />
<input type="reset" value="Reset" onclick="resetPass()"/>
</form>
<form method="post" action="<?php echo LOGOUT_URL; ?>" target="_self" name="logout">
<input type="hidden" name="redirect" value="<?php echo WB_URL.$_SERVER['PHP_SELF']; ?>">
<input type="submit" value="Abmelden" class="primary" />
</form>
--- End code ---
die hidden inputs steueren nach meinem Verständnis ja den Redirect ...
Die Demoseite läuft hier... https://argeforum.de/pages/template-test.php
markherrmann:
Hi zusammen,
wollte nur kurz bescheid geben ich habe es gefunden!
Problem ist damit gelöst.
Ich habe meine Redirects (entspr. Droplet wie folgt abgeändert)...
aus:
--- Code: ---<form...>
<input type="hidden" name="redirect" value="<?php echo WB_URL.$_SERVER["PHP_SELF"]; ?>" />
</form>
--- End code ---
wird:
--- Code: ---<?php
$redirect_url = ((isset($_SESSION["HTTP_REFERER"]) && $_SESSION["HTTP_REFERER"] != "") ? $_SESSION["HTTP_REFERER"] : WB_URL);
$redirect_url = (isset($redirect) && ($redirect != "") ? $redirect : $redirect_url);
?>
<form...>
<input type="hidden" name="redirect" value="<?php echo $redirect_url; ?>" />
</form>
--- End code ---
und es läuft. Nochmals danke an sternchen8875 für den Tip mit dem Droplet...
Manchmal braucht es einfach einen kleinen Input für die Lösung.
Schönes Wochenende an alle Mitleser.
Navigation
[0] Message Index
[*] Previous page
Go to full version