Problem mit Statusabfrage login

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Helmut
Mitglied
Beiträge: 2048
Registriert: 27.12.2002 20:35
Wohnort: Augsburg

Problem mit Statusabfrage login

Beitrag von Helmut »

Hallo,

ich habe ein kleines Problem mit der Abfrage ob ein User eingeloggt ist oder nicht.

Ich brauche diese Abfrage in meiner navigation.php welche über

Code: Alles auswählen

include($phpbb_root_path . 'svisuite/navigation.' . $phpEx);

in die jeweiligen Themenseiten eingebunden ist. Hier ist der Anfang der navigation.php:

Code: Alles auswählen

<?php
/**
*
* @author Original Author webmaster@selbsthilfeverband-inkontinenz.org
* 
*
* @package svi
* @version $Id: navigation.php,v 0.0.1 2007/09/01 Exp $
* @copyright (c) 2007 Helmut ****
* @license http://opensource.org/licenses/gpl-license.php GNU Public License 
*
*/

/**
* @ignore
*/
define('IN_PHPBB', true); // we tell the page that it's going to be using phpBB, this is important.
$phpEx = substr(strrchr(__FILE__, '.'), 1); // Set the File extension for page-wide usage.


//Start session management -- This will begin the session for the user browsing this page.
$user->session_begin();
$auth->acl($user->data);

//prüfen ob User eingeloggt ist
if($userdata['session_logged_in'] && $userdata['user_id'] != ANONYMOUS)
{
	$status = 'tab_logout'; //eingeloggt
}
else
{	
	$status = 'tab_login'; //nicht eingeloggt
}


// Language file (see documentation related to language files)
$user->setup('svi/svi_navigation');

[...]
Leider bekomme ich immer $status = 'tab_login'; ausgegeben, egal ob ich eingeloggt bin oder nicht.

Wenn ich diese Zeile

Code: Alles auswählen

include($phpbb_root_path . 'common.' . $phpEx); // include the common.php file, this is important, especially for database connects.
in die navigatin.php einbinde, dann bekomme ich diese Fehlermeldung:
Fatal error: Cannot redeclare deregister_globals() (previously declared in I:\xampp\htdocs\phpBB3\common.php:32) in I:\xampp\htdocs\phpBB3\common.php on line 94

Wie bekomme ich nun den Status heraus ob ein User eingeloggt ist oder nicht?

Gruß Helmut
Ich bin nicht ganz dicht.... na und.
Benutzeravatar
Schumi
Ehemaliges Teammitglied
Beiträge: 4925
Registriert: 07.10.2002 12:37

Beitrag von Schumi »

Das alte $userdata-Array aus phpBB2 existiert nicht mehr, die Daten sind nun in dem Objekt $user->data gespeichert.
Ob ein Benutzer registriert ist, kann über

Code: Alles auswählen

$user->data['is_registered']
geprüft werden. Zusätzlich kann/sollte man noch (je nach Anwendungsfall) auf

Code: Alles auswählen

!$user->data['is_bot']
prüfen, da dem Board bekannte Bots ebenfalls als registrierte Benutzer gelten.
Helmut
Mitglied
Beiträge: 2048
Registriert: 27.12.2002 20:35
Wohnort: Augsburg

Beitrag von Helmut »

Hallo Schumi,

danke dir für die schnelle Hilfe, eigentlich hätte es mir ja auffallen müssen dass die Abfrage für phpBB2 war.... :wink:

Ich habe es jetzt so geändert

Code: Alles auswählen

if($user->data['is_registered'] && !$user->data['is_bot'] && $user->data['user_id'] != ANONYMOUS)
damit klappt es wunderbar.

Gruß Helmut
Ich bin nicht ganz dicht.... na und.
Antworten

Zurück zu „Coding & Technik“