WebsiteBaker Community Forum

WebsiteBaker Support (2.13.x) => General Help & Support => Topic started by: markherrmann on February 26, 2023, 02:40:52 PM

Title: Variablen und Konstanten und Umleiten nach Logout
Post by: markherrmann on February 26, 2023, 02:40:52 PM
Hi Leute,
einen schönen Sonntag für Euch und 2 Fragen in die Runde:

Ging das nicht immer so?
Hier ein Auzug aus meinem neuen Template?

Code: [Select]
$url_this = WB_URL.$_SERVER['PHP_SELF'];
<form method="post" action="<?php echo LOGOUT_URL?>" target="_self" name="logout">
<input type="hidden" name="redirect" value="<?php echo $url_this?>">
<input type="submit" value="Abmelden" class="primary" />
</form>

Title: Re: Variablen und Konstanten und Umleiten nach Logout
Post by: hgs on February 26, 2023, 03:04:27 PM
Zur Zeit sind die Websiten "help.web...org" und "template.web...org" nicht erreichbar.
Daran wir es vermutlich liegen.
Title: Re: Variablen und Konstanten und Umleiten nach Logout
Post by: sternchen8875 on February 26, 2023, 04:27:37 PM
Schau mal ins Droplet LOGINBOX, dort ist ein funktionierendes Beispiel (man muß nicht alles immer neu erfinden...)

$_SERVER['PHP_SELF'] ist der Name des ausführenden Scriptes, in diesem Fall eben die logout.php.
Über den Redirect erfolgt dann die Rückleitung zur gewünschten Seite
Title: Re: Variablen und Konstanten und Umleiten nach Logout
Post by: markherrmann on February 26, 2023, 04:58:18 PM
Hey sternchen8875...
Du bist wie üblich ein zuverlässiger Helfer, vielen Dank für den Tip... an die Droplets hab ich gar nicht gedacht. Ich guck mir den Code darin nachher mal an.
Title: Re: Variablen und Konstanten und Umleiten nach Logout
Post by: hgs on February 26, 2023, 07:25:01 PM
Und die Help-Seite ist wieder online (Y)
Title: Umleiten nach Logout
Post by: markherrmann on March 01, 2023, 06:59:13 PM
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...

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: [Select]
<form method="post" action="<?php echo LOGIN_URL?>">
<input type="hidden" name="redirect" value="<?php echo WB_URL.$_SERVER[&#39;PHP_SELF&#39;]; ?>">
<input type="text" placeholder="<?php echo $TEXT[&#39;USERNAME&#39;]; ?>" required id="input_name" name="username" autocomplete="off">
<input type="password" placeholder="<?php echo $TEXT[&#39;PASSWORD&#39;]; ?>" 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[&#39;PHP_SELF&#39;]; ?>">
<input type="submit" value="Abmelden" class="primary" />
</form>

die hidden inputs steueren nach meinem Verständnis ja den Redirect ...

Die Demoseite läuft hier... https://argeforum.de/pages/template-test.php (https://argeforum.de/pages/template-test.php)
Title: Re: Variablen und Konstanten und Umleiten nach Logout
Post by: markherrmann on March 04, 2023, 02:15:28 PM
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: [Select]
<form...>
<input type="hidden" name="redirect" value="<?php echo WB_URL.$_SERVER["PHP_SELF"]; ?>" />
</form>

wird:
Code: [Select]
<?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>

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.