LoginScript mit 2 User Ebenen

  • Themenstarter Themenstarter skynic
  • Beginndatum Beginndatum
S

skynic

Hi Leutz,
ich hoffe ihr könnt mir helfen, ich suche/brauche ein Login Script mit 2 User Ebenen, was wirklich einfach ist da ich Anfänger bin. Das LoginScript was hier in den Tutorials steht ist schon nicht schlecht (LoginSrcipt), kann mir da jemand helfen wie man da 2 User Ebenen einbaut?
Also, wenn ich mich einlogge als User X mit Level 1, dass ich nur Zugriff auf die und die Seiten habe und wenn ich mich als User Y mit Level 2 anmelde, dass ich Zugriff auf alle Seiten habe.

Wie könnte man das realisieren?

Gruß
Nic
 
mach doch einfach noch eine Spalte hinzu namens PRIV oder wie auch immer.

Beim Login ziehst du ja alle Daten heraus die ein User in deinem Table hat.

Dann brauchst du ja nix weiter machen als
PHP:
if($user['priv']==1){
  //zeige nur das eine da an
}elseif($user['priv']==2){
  //zeige mir alles an
}
 
Danke für die schnelle Antwort. Ich werd mal lieber den code hinschreiben, ob ichs auch richtig verstanden hab:


Also das in der Datenbank ändern:

PHP:
// Definition der Benutzer 
$benutzer[0]["Nickname"] ="admin"; 
$benutzer[0]["Kennwort"] = "admin"; 
$benutzer[0]["Nachname"] = "Mustermann"; 
$benutzer[0]["Vorname"] = "Max"; 
$benutzer[0]["priv"] = "1";

$benutzer[1]["Nickname"] = "test"; 
$benutzer[1]["Kennwort"] = "abc"; 
$benutzer[1]["Nachname"] = "Kunze"; 
$benutzer[1]["Vorname"] = "Martin"; 
$benutzer[1]["priv"] = "2";

aber wie binde ich das dann in die login.php ein?

PHP:
<?php 
// Session starten 
session_start (); 

// Datenbankverbindung aufbauen 
$connectionid = mysql_connect ("localhost", "root", ""); 
if (!mysql_select_db ("LoginSystem", $connectionid)) 
{ 
  die ("Keine Verbindung zur Datenbank"); 
} 

$sql = "SELECT ". 
    "Id, Nickname, Nachname, Vorname ". 
  "FROM ". 
    "benutzerdaten ". 
  "WHERE ". 
    "(Nickname like '".$_REQUEST["name"]."') AND ". 
    "(Kennwort = '".md5 ($_REQUEST["pwd"])."')"; 
$result = mysql_query ($sql); 

if (mysql_num_rows ($result) > 0) 
{ 
  // Benutzerdaten in ein Array auslesen. 
  $data = mysql_fetch_array ($result); 

  // Sessionvariablen erstellen und registrieren 
  $_SESSION["user_id"] = $data["Id"]; 
  $_SESSION["user_nickname"] = $data["Nickname"]; 
  $_SESSION["user_nachname"] = $data["Nachname"]; 
  $_SESSION["user_vorname"] = $data["Vorname"]; 

if($user['priv']==1){ 
  //zeige nur das eine da an 
  header ("Location: intern.php"); 
}elseif($user['priv']==2){ 
  //zeige mir alles an 
  header ("Location: intern2.php")
}
} 
else 
{ 
  header ("Location: formular.php?fehler=1"); 
} 
?>

so?

Bitte nich lachen, bin Anfänger :P
 
würd ich ja gerne aber ich hab erst nächste woche ein server und offline funktioniert das bei mir nicht
deshalb wollte ich ja hier wissen, ob das so stimmt
 
du machst in der Tabelle eine Spalte ran
PHP:
CREATE TABLE benutzerdaten ( 
  Id Int(11) NOT NULL auto_increment, 
  Priv Int(1) NOT NULL default '',   //<<-- Das ist die Neue spalte
  Nickname VarChar(50) NOT NULL default '', 
  Kennwort VarChar(50) NOT NULL default '', 
  Nachname VarChar(50) NOT NULL default '', 
  Vorname VarChar(50) NOT NULL default '', 
  PRIMARY KEY (Id) 
)
In Der Speicherst du dann jeweils für den Benutzer das Priv level welches bei dir 1 oder 2 ist.

Dann ziehst du ja die Daten aus deiner DB raus und machst dann zusätzlich noch
PHP:
$_SESSION["user_priv"] = $data["Priv"]; 

//und die Abfrage muss dann so sein
if($_SESSION["user_priv"]==1){ 
  //zeige nur das eine da an 
  header ("Location: intern.php"); 
}elseif($_SESSION["user_priv"]==2){ 
  //zeige mir alles an 
  header ("Location: intern2.php") 
} 
else ............................

Der Rest sollte dann soweit stimmen


Achso, kannst dir doch nen localen Apache/PHP Interpret installieren, dann kannst du das auch alles offline testen
 
Ok, danke.

Letzte Frage, muss die Datenbank dann so geändert werden?

PHP:
// Definition der Benutzer 
$benutzer[0]["Nickname"] ="admin"; 
$benutzer[0]["Kennwort"] = "admin"; 
$benutzer[0]["Nachname"] = "Mustermann"; 
$benutzer[0]["Vorname"] = "Max"; 
$benutzer[0]["priv"] = "1"; 

$benutzer[1]["Nickname"] = "test"; 
$benutzer[1]["Kennwort"] = "abc"; 
$benutzer[1]["Nachname"] = "Kunze"; 
$benutzer[1]["Vorname"] = "Martin"; 
$benutzer[1]["priv"] = "2";
 
Nen bissel mitdenken musst du aber schon ;). Was fällt dir denn auf wenn du dir die Variablen durchliest in den [..]? Sind alle Großgeschrieben. Nun schaue dir mal die Tabelle an, was steht da? Nun vergleiche das beides mal. Na?
 
ups, danke :)
falls ich noch probleme meld ich mich wieder :p

danke für deine Hilfe Kerwin
 
Zurück