Beiträge: 337
Themen: 70
Registriert seit: 11.12.2006
MyBB-Version: 1.2.xx
Hallo,
wie funktioniert das Logout Script? Ich möchte "einfach" nur, das wenn man sich übers Forum logoutet man auf der index.php also ganz normal landet, aber wenn man sich über meine HP logoutet man auf der Startseite der HP landet. Homepage und Forum nutzen das selbe Loginsystem -- Wenn man in der HP eingeloggt ist, ist man im Forum eingeloggt und umgekehrt. Mit dem Loginscript kann man glaub ich im Formular nicht einfach eine andere Url angeben, da ja soweit ich das sehen konte gar kein Formular besteht (wozu auch). >>Hoffe das ist eine kleine Hilfe beim beantworten<<
Bimon
Beiträge: 762
Themen: 23
Registriert seit: 18.03.2006
MyBB-Version: 1.2.2
15.12.2006, 20:19
(Dieser Beitrag wurde zuletzt bearbeitet: 15.12.2006, 20:20 von frankrieger.)
Das kannst du nur durch Bearbeiten der Datei member.php erreichen. Suche nach folgendem:
PHP-Code:
else if($mybb->input['action'] == "logout")
In dieser If-Abfrage wird zwei mal der redirect auf die index.php durchgeführt.
Du müsstest beidesmal davor eine Abfrage erstellen, von wo aus der User sich ausloggt.
Eine Homepage ist nie fertig, man hört nur auf an ihr zu arbeiten - Unbekannter Verfasser
Beiträge: 337
Themen: 70
Registriert seit: 11.12.2006
MyBB-Version: 1.2.xx
Ich hab das Logout Script aber nicht kopiert gekriegt und hab das einfach mit einer Javascript weiterleitung gelöst (bei der dann noch die uid mit drangehängt wird). Wie kopier ich den das Logout Script; als ich das probiert habe und dann mich darüber gelogoutet habe kam weißes Bild;; ich konnte auch ohne Probleme wieder zurück in den Login Bereich!
Bimon
Beiträge: 762
Themen: 23
Registriert seit: 18.03.2006
MyBB-Version: 1.2.2
Du brauchst das Script nicht zu kopieren. Du setzt einfach einen Link:
PHP-Code:
echo "<a href=\"http://www.deinurl.de/forum/member.php?action=logout&uid=".$mybb->user['uid']."\">Abmelden</a>";
Eine Homepage ist nie fertig, man hört nur auf an ihr zu arbeiten - Unbekannter Verfasser
Beiträge: 337
Themen: 70
Registriert seit: 11.12.2006
MyBB-Version: 1.2.xx
Ok hab ich:::::
Wie mach ich das nun mit der Bedingung?
Bimon
Beiträge: 762
Themen: 23
Registriert seit: 18.03.2006
MyBB-Version: 1.2.2
15.12.2006, 20:49
(Dieser Beitrag wurde zuletzt bearbeitet: 15.12.2006, 20:59 von frankrieger.)
Ungefähr so (in der Datei member.php):
PHP-Code:
if (ereg("mitglieder.php", $_SERVER['PHP_SELF']) || ereg("mitglieder2.php", $_SERVER['PHP_SELF']))
{
redirect("mitglieder_logoutseite.php", $lang->redirect_alreadyloggedout);
}
else
{
redirect("index.php", $lang->redirect_alreadyloggedout);
}
und beim zweiten Mal das ganze mit:
PHP-Code:
redirect("index.php", $lang->redirect_loggedout);
Das bedeuted, wenn die Seite von der das Script aufgerufen wird mitglieder.php oder mitglieder2.php heißt dann gehe zur Seite mitglieder_logoutseite.php (in deinem Forenhauptverzeichnis), sonst gehe zur Seite index.php.
Eine Homepage ist nie fertig, man hört nur auf an ihr zu arbeiten - Unbekannter Verfasser
Beiträge: 337
Themen: 70
Registriert seit: 11.12.2006
MyBB-Version: 1.2.xx
Das klappt irgendwie nicht!
Muss ich den von der vorherigen Seite (logout.php) nicht noch etwas mitsenden?
Bimon
Beiträge: 1.626
Themen: 41
Registriert seit: 24.01.2006
16.12.2006, 01:45
(Dieser Beitrag wurde zuletzt bearbeitet: 16.12.2006, 01:59 von Garlant.)
Hallo Bimon,
Bitte versuche mal dies, anstelle von frankriegers code:
Suche:
PHP-Code:
redirect("index.php", $lang->redirect_loggedout);
Ersetze mit:
PHP-Code:
if($mybb->input['url'] && !preg_match("/^(member\.php)?([^\?action=logout]+)/i", $mybb->input['url']))
{
$redirect_url = htmlentities($mybb->input['url']);
}
elseif($_SERVER['HTTP_REFERER'])
{
$redirect_url = htmlentities($_SERVER['HTTP_REFERER']);
}
redirect($redirect_url, $lang->redirect_loggedout);
Das ist ungetestet.
Mfg Garlant
Ich gebe keinen Support per Messenger oder PN!
Beiträge: 337
Themen: 70
Registriert seit: 11.12.2006
MyBB-Version: 1.2.xx
Ne geht immer noch nicht!
Beiträge: 337
Themen: 70
Registriert seit: 11.12.2006
MyBB-Version: 1.2.xx
Ich kann auch nicht glauben das ein Link zum Logout Script in der member.php ausreicht!
Dann wird das doch immer von der member.php ausgeführt, oder nicht?
Wo ist da der Unterschied? prüft preg_match() die Seite die vorher geöffnet war oder wie?
Bimon