PHP aus der Datenbank etwas abfragen

03/21/2013 00:06 North#1
Guten Abend,

ich bin am rumprobieren wie ich überprüfen kann, ob jemand in der Spalte "adminacces" den Wert 1 hat, sodass dieser Zugriff auf die Adminseiten hat.
Im Moment mach ich das nach so:

PHP Code:
if($_SESSION['ID'] == || $_SESSION['ID'] == 2) {
    
#Code...

Nun möchte ich jedoch, dass ich nicht jeden Benutzer eintragen muss, sondern das er einfach überprüft ob der Wert "adminacces" auf 1 steht, wenn ja, soll man haben Zugriff haben.
Ich habe bereits ein paar Möglichkeiten wie z.B. das probiert:

PHP Code:
if($_SESSION['adminacces'] == 1) {
    
#Code...

Aber dies funktioniert nicht.
Ich bin relativ neu in PHP und würde Hilfe sehr zu schätzen wissen! :)
03/21/2013 07:15 iWnnaFckMyDad#2
Also auch wenn ich wenig bis gar keine Ahnung von php habe...

Nur mal so rein aus dem logischem Denken heraus - "access" wird normalerweise mit 2 s am Ende geschrieben.

Ich mein, hab keine Ahnung davon, aber vielleicht hast dich nur verschrieben.
03/21/2013 07:41 reCougar#3
Machs mit Select und num_rows
03/21/2013 09:22 MoepMeep#4
[Only registered and activated users can see links. Click Here To Register...]
03/21/2013 16:13 North#5
Quote:
Originally Posted by iWnnaFckMyDad View Post
Also auch wenn ich wenig bis gar keine Ahnung von php habe...

Nur mal so rein aus dem logischem Denken heraus - "access" wird normalerweise mit 2 s am Ende geschrieben.

Ich mein, hab keine Ahnung davon, aber vielleicht hast dich nur verschrieben.
Ne, daran liegt das nicht, da das der Name der Spalte ist und ja in meinem Skript heißt es auch "adminaccess" :).

Quote:
Originally Posted by Spleech™ View Post
Machs mit Select und num_rows
PHP Code:
        $sql "SELECT * "
        
"FROM "
        
"TB_Benutzer";
        
        
$result mysql_query($sql);
        if (
mysql_num_rows ($result) > 0
        {
            
$data mysql_fetch_array ($result); 
            
$_SESSION['adminaccess'] = $data['adminaccess'];
            
# usw.
        
}
        if(
$_SESSION['adminaccess'] == "Yes")
        
        { 
so funktioniert's, danke!

EDIT: Wenn ich nun "adminaccess" auf "No" setzte, dann hat man zwar keinen Zugriff mehr, aber der Reiter "Admin Panel" ist immernoch in der Menü-Leiste, genauso umgekehrt, wenn ich es von "no" auf "yes" setze, dann erscheint der Reiter "Admin Panel" nicht, weißt du 'ne Lösung?
03/23/2013 16:33 North#6
Hat keiner 'ne Idee?
03/23/2013 17:48 Fehlgeschlagen#7
Ich sag nur wenn du $_SESSION['adminacces'] == 1 benutzt ^^ hast ne fette sicherheitslücke

mach liebe ne neue spalte in der datenbank und frage ab ob er admin ist. und das immer wieder
03/23/2013 21:06 galaxyo#8
Quote:
Originally Posted by Floodylution View Post
Hat keiner 'ne Idee?
Lass die Navigation nach der Überprüfung ob jemand Admin ist oder nicht durch PHP erstellen.


PHP Code:
echo "<a href='index.php' id='deineId' class='deineKlasse'>Startseite</a>";
echo 
"<a href='kontakt.php' id='deineId' class='deineKlasse'>Kontakt</a>";
echo 
"<a href='impressum.php' id='deineId' class='deineKlasse'>Impressum</a>";
echo 
"<a href='forum.php' id='deineId' class='deineKlasse'>Forum</a>";
if(
admin == true) {
echo 
"<a href='adminpanel.php' id='deineId' class='deineKlasse'>Adminpanel</a>";

Ist der User zufälligerweise kein Administrator oder nicht eingeloggt, kannst du diesen durch eine Weiterleitung direkt auf die Startseite verweisen. Nur weil dein Adminpanel nicht in der Navigation zu finden ist, bedeutet das nicht zwangsläufig, dass man es nicht aufrufen kann. [Only registered and activated users can see links. Click Here To Register...]

Absichern!

Schönen Abend ;)