Gruppenberechtigung

Jorin5

Mitglied
Ich bin ein anfänger.

Nun versuche ich eine todo liste zu erstellen.Und weiss nicht wie man einen Gruppe berechtigung gibt.

ich habe in meiner Datenbank User,Passwort und Rolle.

Unter Rolle kann der Admin den Benutzern eine Rolle geben. Es sind nur zwei Rollen die man vergeben kann " User" uns " Gast ".

Ich hab versucht das es die alles in Session anzeigen zu lassen geht aber nicht.(!)

Hat jemand von euch einen ganz einfachen weg wie man es machen kann ?

Bitte mit erklärung
 
Wie man Daten aus einer Datenbank liest ist dir bekannt nehme ich mal an.
Sagen wir du hast in der Variablen $row die Daten im Array.

Als erstes startest du eine session.
PHP:
session_start();
Das muss als aller erstes passieren. Noch bevor irgendetwas zum Browser weitergegeben wird.

dann...

z.B. mysqlresult.php :
PHP:
// mysqlcon.....

$row['Rolle'] = $_SESSION['Rolle'];
Jetz haben wir die Daten aus dem Array der sich in $row an der Stelle 'Rolle' befindet in die session an der Stelle 'Rolle' geschrieben.

meinet wegen intern.php :
PHP:
if($_SESSION['Rolle'] == Admin)
{
  echo 'Das darf ein Admin sehen.';
}
elseif($_SESSION['Rolle'] == User)
{
  echo 'Das darf ein User sehen.';
}
else
{
  echo 'Das darf ein Gast sehen.';
}

Ich hoffe ich hab dir damit erstmal weiter geholfen. Wenn nicht, Problem + Code posten. Nächstesmal bitte mit anständigem Titel und nicht "hallo leute", danke ;)
 
mysqlresult.php das ist mein code.
<?php
session_start();
error_reporting(E_ALL);
$host="localhost";
$username="root";
$password="";
$db_name="liste";
$tbl_name="benutzer";

mysql_connect("$host", "$username")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select $db_name");

$sql="SELECT * FROM $tbl_name";

$result=mysql_query($sql);

while($row = mysql_fetch_array($result)){

echo $row->Rolle;
}
?>


und noch intern.php

<?php

if($_SESSION['Rolle'] == Admin)
{
echo 'Das darf ein Admin sehen.';
}
elseif($_SESSION['Rolle'] == User)
{
echo 'Das darf ein User sehen.';
}
else
{
echo 'Das darf ein Gast sehen.';
}

?>

Ich finde es einbisschen unötig das es für das 2 script gibt.Darum werde ich später mal zusammen bringen.

Aber erst mal geht es noch nicht

es kommt ein Fehler meldung :Notice: Trying to get property of non-object in

Was ist damit gemeint ?
 
Du versucht auf ein Objekt zuzugreifen obwohl du einen Array hast.

PHP:
<?php
session_start();
error_reporting(E_ALL);
$host="localhost";
$username="root";
$password="";
$db_name="liste";
$tbl_name="benutzer";

mysql_connect("$host", "$username")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select $db_name");

$sql="SELECT * FROM $tbl_name";

$result=mysql_query($sql);

while($row = mysql_fetch_array($result)) // mysql_fetch_array ! nicht object ;)
{
$_SESSION['Rolle'] = $row['Rolle']; // In die session var schreiben.
}
?>

edit: Lass dir den Inhalt von $_SESSION['Rolle'] ausgeben um zu sehen was genau drin steht.
PHP:
echo $_SESSION['Rolle'];

ausserdem solltest du nicht alles selectieren was in der Tabelle steht, sondern nur das was für den User bestimmt ist.
PHP:
$id = ""; // Die ID des aktuellen Users.
$sql="SELECT Rolle FROM $tbl_name WHERE id='$id'";
 
Zuletzt bearbeitet:
Du versucht auf ein Objekt zuzugreifen obwohl du einen Array hast.

PHP:
<?php
session_start();
error_reporting(E_ALL);
$host="localhost";
$username="root";
$password="";
$db_name="liste";
$tbl_name="benutzer";

mysql_connect("$host", "$username")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select $db_name");

$sql="SELECT * FROM $tbl_name";

$result=mysql_query($sql);

while($row = mysql_fetch_array($result)) // mysql_fetch_array ! nicht object ;)
{
$_SESSION['Rolle'] = $row['Rolle']; // In die session var schreiben.
}
?>

edit: Lass dir den Inhalt von $_SESSION['Rolle'] ausgeben um zu sehen was genau drin steht.
PHP:
echo $_SESSION['Rolle'];

ausserdem solltest du nicht alles selectieren was in der Tabelle steht, sondern nur das was für den User bestimmt ist.
PHP:
$id = ""; // Die ID des aktuellen Users.
$sql="SELECT Rolle FROM $tbl_name WHERE id='$id'";

Wie soll ich die id hollen?
sry bin aber ein totaler anfänger
 
ja schon.


aber ich wollte wisen wie ich ID rausholle.Aber jetzt egal ich habs geschafft den ID zu hollen:D. War ja zimlich leicht hab zu weit gedacht. :D
 
Zurück