Loginstatus Abfragen

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB2 oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Shay
Mitglied
Beiträge: 6
Registriert: 08.04.2008 20:33

Loginstatus Abfragen

Beitrag von Shay »

Hallöchen ^^

Ich hab ein externes Login System was auch gut funktioniert.

Ich möchte nun jedoch je nach dem ob jemand ein oder ausgeloggt ist ein bestimmtes Textfeld ändern.
Meine Abfrage sieht so aus:

Code: Alles auswählen

if ( $userdata['session_logged_in'] )
{
echo 'Eingeloggter Text';
}
else
{
echo 'Ausgeloggter Text';
}
Nun habe ich das Problem, das mir mein ausgeloggter Text nur angezeigt wird, wenn ich vorher angemeldet war und mich ausgeloggt habe. Ich würde jedoch gern das man standartmäßig den Ausgeloggten Text sieht wenn man halt nich eingeloggt is und auch vorher nicht eingeloggt war ^^
Also das auch Gäste halt den Ausgeloggten Text sehen.

Würde mich freuen wenn mir da jemand helfen kann
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17438
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Beitrag von Dr.Death »

Anscheinend wird bei deinem externen Loginscript die alte Session nicht aus der Datenbank gelöscht.

Verwende dazu den Befehl:

Code: Alles auswählen

$user->session_kill();
Ein Beispiel Script findest Du dazu hier: [Snippet] Externer Login / Logout für phpBB3
Shay
Mitglied
Beiträge: 6
Registriert: 08.04.2008 20:33

Beitrag von Shay »

Danke schonmal für die Antwort ^^

Aber ich weiß nich wo ich das hinsetzen soll +g+ bin noch nich so fit in dem ganzen.

Da ich phpbb2 nutze post ich hier nochmal mein login script damit du mir sagen kannst wo ich den kill hinsetzen muss ^^'

Code: Alles auswählen

<?php

session_start();


//Benötigte Dateien und Variablen von phpBB
define('IN_PHPBB', true);
$phpbb_root_path = './shay_04/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

//Session auslesen und Benutzer-Informationen laden
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);

if(isset($_GET['sid']) || $_GET['sid'] != $_SESSION['sid']) {
    $_SESSION['sid'] = $_GET['sid'];
}

/***** Inhaltsbereich ******/


//Login/Logout
if ( $userdata['session_logged_in'] )
{
    // Code, wenn ein Benutzer angemeldet ist
    ?> das is aber toll <br />
   <a href="shay_04/login.php?logout=true&sid=<?=$userdata['session_id'];?>&redirect=../logged.php">Logout</a>
<?
}
else
{
    // Code, wenn kein Benutzer angemeldet ist
    ?><form action="shay_04/login.php" method="post">
    Benutzername: <input type="text" name="username"><br>
    Passwort: <input type="password" name="password"><br>
    Autologin? <input type="checkbox" name="autologin"><br>
    <input type="hidden" name="redirect" value="../logged.php">
    <br>
    <input type="submit" name="login" value="Login">
    <br />

<?
}


?>
Benutzeravatar
Jan500
Ehemaliges Teammitglied
Beiträge: 4199
Registriert: 01.03.2003 21:32
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Jan500 »

hi

wieso machst du

Code: Alles auswählen

if(isset($_GET['sid']) || $_GET['sid'] != $_SESSION['sid']) {
    $_SESSION['sid'] = $_GET['sid'];
} 
? die sid wird bereits in $userdata['session_id'] gespeichert und wird entweder aus den cookies gelesen oder aus der $_GET also ich dneke da kommt bei dir das problem her...
lösche/kommentiere mal den code oben aus und lösch auch session_start(); oben das wird bereits alles vom phpbb gemacht

Jan
"Life begins at 40 Knots...!" :D
kein (kostenlosen) Support per pn, mail, icq usw. | Kostenlosen Support gibt es hier im Forum!
Shay
Mitglied
Beiträge: 6
Registriert: 08.04.2008 20:33

Beitrag von Shay »

Hiho nochma ^^

Hab men fehler gefunde, ich hab einfach den head aus der login in der falschen seite gehabt -.-' und warum das da steht..ka xD ich bin recht neu was php angeht udn fummel mir schnippsel zusamm bis was klappt ^^

Aber nochmal ne andere Frage, undzwar würde ich gerne eine Abfrage machen, wenn der nutzer eingeloggt ist, sieht er z.b. neusten 5 forenbeiträge die er noch nicht gelesen hat.
Hab hier auch schon bisschen rumgesucht aber irgendwie hat das alles nur fehler ausgespuckt ^^

Shay
Antworten

Zurück zu „phpBB 2.0: Mod-Bastelstube“