Seite 2 von 2

Verfasst: 28.04.2004 14:18
von SchaHu.Ma
ich möchte, dass ein user mit level "admin" mehr funktionen auf der hp nutzen kann als, zum beispiel, ein user mit level "stinktier".

zum beispiel news eintragen. und das hat alles nix mit dem forum zu tun. will nur die rechte und die userdaten aus der datenbank vom forum benutzen.

und der adminlink war nur ein beispiel.

Verfasst: 28.04.2004 14:23
von Tuxman

Code: Alles auswählen

if ($userdata['user_level'] = ADMIN) {
  $adminlink = "<a href='admin.php'>Adminbereich</a>";
}
else {
  $adminlink = "";
}
So was?

Verfasst: 28.04.2004 14:58
von SchaHu.Ma
joa so in etwa.

aber müsste ja dann in ner session stehn

Code: Alles auswählen

if($_SESSION['user_level']=="ADMIN")
{
   echo "admin is eingeloggt";
}
else
{
  echo "admin nicht eingeloggt";
}
aber ich weiß halt nicht, wie ich jetzt den user_level in die session bekomm, oder ob der schon in der session steht. Oder ich müsste das aus der datenbank auslesen, wenn ich irgendwelche admin-funktionen anzeigen will.

Wo werden die inhalte von $userdaten[] definiert?

das hier hab ich jetzt in der login.php gefunden:

Code: Alles auswählen

$sql = "SELECT user_id, username, user_password, user_active, user_level
			FROM " . USERS_TABLE . "
			WHERE username = '" . str_replace("\\'", "''", $username) . "'";
		if ( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, 'Error in obtaining userdata', '', __LINE__, __FILE__, $sql);
		}

		if( $row = $db->sql_fetchrow($result) )
		{
			if( $row['user_level'] != ADMIN && $board_config['board_disable'] )
			{
				redirect(append_sid("index.$phpEx", true));
			}
			else
			{
         ...
da wird ja geprüft, ob der user ein admin is und ob das board abgeschaltet is, ne?

ich müsste ja dann einfach grad die sql-abfrage auf der "adminpage" machen und und halt das was du geschrieben hast

Code: Alles auswählen

if ($userdata['user_level'] = ADMIN) { 
  $adminlink = "<a href='admin.php'>Adminbereich</a>"; 
} 
else { 
  $adminlink = ""; 
}
nur mit $row['user_level'] anstatt $userdata['user_level'], oder?


oder soll ich einfach in der login.php hinzufügen:

Code: Alles auswählen

if( $row = $db->sql_fetchrow($result) ) 
      { 
         if( $row['user_level'] == ADMIN ) 
         { 
            $_SESSION['user_level_ses']="Admin";
         } 
und dann kann ich ja das verwenden was oben steht.

Oder was meinst du?

Verfasst: 28.04.2004 15:54
von Tuxman
Äh ja... :-? :lol:

Verfasst: 28.04.2004 15:58
von SchaHu.Ma
und was soll das heißen? :(

Verfasst: 28.04.2004 16:47
von ckarsten
Möglicherweise hilft Dir dieses Beispiel weiter:
(läuft als "test.php" im Hauptverzeichnis des Forums)

Code: Alles auswählen

<?php

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);

if ( !$userdata['session_logged_in'] )
{
    redirect(append_sid("login.$phpEx?redirect=test.$phpEx", true));
}

include($phpbb_root_path . 'includes/page_header.'.$phpEx);


// #### Ab hier eigener Muell ####

if ($userdata['user_level'] == ADMIN) {
  echo "Hallo, Du bist ein Admin\n";
} else {
  echo "Hallo, Du bist ein normaler User\n";
}

// #### Ende eigener Muell ####


include($phpbb_root_path . 'includes/page_tail.'.$phpEx);

?>
Wenn Deine Homepage ein anderes Design als das Forum haben soll lass einfach die Zeilen
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
und
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
weg.

Verfasst: 28.04.2004 17:13
von SchaHu.Ma
cool es funzt dankeschön *freu*

und wie mach ich das jetzt mit dem login?

Also ich log mich ein (linkes frame -> formular: target="_parent") auf die login.php und die leitet auf die index.php weiter ... will aber auf die "../index.php" weiterleiten .. also ein verzeichniss weiter unten (oder oben ka^^ "../" halt) und das is dann ein Frameset.

Verfasst: 29.04.2004 18:45
von SchaHu.Ma
kann mir da jemand helfen?

in der login.php steht öfters mal index und ich weiß net, welches ich ändern muss...