Benutzer auf private Seite weiterleiten

Aktuelle Themen - Websitebaker Hilfe

Wer seinen Benutzer in Websitebaker eine persönliche oder gruppenabhängige Seite zur Verfügung stellen möchte, kann wie folgt beschrieben seinen Benutzern den Standart-Redirect zur Websitebaker Startseite ersparen und den Benutzer auf seine Persönliche Seite weiterleiten.
Websitebaker Login

Für die Anmeldung verwenden wir die normale Websitebaker Login Maske mit einem redirect auf eine versteckte Zwischen-Seite (im Beispiel wbuser.php)

Diese könnte bspl. so aussehen:
Login im Template:

<?php if(FRONTEND_LOGIN AND !$admin->is_authenticated()) {
                    $page = 'http://' .$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
                    ?>
<form name="login" action="<?php echo LOGIN_URL; ?>?redirect=<?php echo WB_URL; echo'/pages/'; echo 'wbuser.php';?>" method="post">
<fieldset class="topbox">
<legend><?php echo $TEXT['LOGIN']; ?></legend>
<fieldset class="topbox">
<div class="topboxbody">
<label for="username"><?php echo $TEXT['USERNAME']; ?>:</label>
<input type="text" name="username" id="username" class="text" />
<label for="password"><?php echo $TEXT['PASSWORD']; ?>:</label>
<input type="password" name="password" id="password" class="text" />
<input type="submit" name="submit" value="<?php echo $TEXT['LOGIN']; ?>" class="submit" /><br />
<a href="<?php echo FORGOT_URL; ?>"><?php echo $TEXT['FORGOT_DETAILS']; ?></a><br />
</div>
</fieldset>
</form>

Was macht diese Anmeldung im Template? Da wir vorher noch keinen Benutzernamen haben leiten wir nach dem Login den User nun auf die Seite "meinedomain.de/pages/wbuser.php weiter.

Den User auf seine persönliche Seite weitergeben!

Sobald der User sich jetzt auf unserer wbuser Seite befindet kennen wir seinen Benutzernamen und können diesen verwenden.

Nun benötigen wir natürlich auch eine Seite wbuser in der wir den ankommenden User auf seine persönliche Seite weiterleiten.
(Die Seite wbuser.php wird mit Code Modul erstellt und erhält die Einstellung Sichtbarkeit versteckt)
Die Code Section erhält nun folgenden Code:

echo'<meta http-equiv="refresh" content="5; url=';
echo WB_URL; echo'/pages/'; echo $admin->get_display_name(); echo '.php';
echo'">';

Websitebaker Login Ziel erreicht:

Der User wird nun nach einer Wartezeit von 5 Sekunden (content="5) auf seine persönliche Seite (mit seinen Usernamen) weitergeleitet.
Im Beispiel: www.meinedomain.de/pages/meinusername.php
 
Die persönliche Seite könnte natürlich auch gruppenorientiert verwendet werden.  
 

Gruppenabhängiger Login

Wer anstelle auf die Userseite auf Gruppenseiten weiterleiten möchte kann sich die Variable $group_name zunutze machen und den User aus Gruppe "familie" auf die Seite "familie" weiterleiten.

Beispiel zur Websitebaker Login Weiterleitung für Gruppen:

echo'<meta http-equiv="refresh" content="5; url=';
echo WB_URL; echo'/pages/'; echo $admin->get_group_name(); echo '.php';
echo'">';

Alternative zur Weiterleitung über Location:

<?php
header('location: www.meine.domain.de/pages/username.php');
exit;
?>

 

Zuletzt geändert am: 06.09.2010 um 07:33

Zurück

Kommentare


Gast
von Gast am 29.03.2011 um 15:47
Anmerkung, Korrekturvorschlag
Vielen Dank für die Anleitung - das war genau das, was ich brauchte!

Ich glaube aber, dass die ersten Zeilen überflüssig sind , da wir die Variable $page hier gar nicht weiter verarbeiten, ausserdem wird ein Fehler produziert, da die if-Bedingung nicht mit ener Klammer abgeschlossen ist.

WICHTIG!! auch noch der Hinweis, dass man sich aus dem Backend abmeldet, bevor man das Ganze ausprobiert, da sonst immer auf den aktuell angemeldeten Backenduser weitergeleitet wird - z.B. "Administrator.php"

Khan
von Gast am 21.09.2011 um 15:03
Ihr seit echt wunderbar... :)
Bin etwas unerfahren, aber soweit alles hinbkommen, aber was ist wenn ich den Ordner pages nicht benutze sondern das installationspafad benutze?

CODE:

habe sogar den pfad:
echo WB_URL; echo'/pages/'; echo $admin->get_display_name(); echo '.php';

in
echo WB_URL; echo'/'; echo $admin->get_display_name(); echo '.php';

geändert, klapt irgendwie nicht :(



Kommentar hinzufügen