Avatar billede kren1000 Nybegynder
27. maj 2008 - 09:27 Der er 10 kommentarer og
2 løsninger

Visning af menupunkter efter brugertype

Hej eksperter

Jeg har en brugerdatabase med 3 typer brugere, der hver har en række menupunkter. Admin, superbruger og bruger.

Det virker faktisk langt hen af vejen. Det underlige er at når man som admin, klikker sig på et menupunkt der hedder "elever" for anden gang, så fjernes adminmenuen og brugermenuen er der kun.

Kan nogen se hvad der er galt, eller evt. kender en anden måde der er mere "rigtig" at gøre det på. Er ikke ekspert...

menu.php
-------------------------------------------------
<?php
session_start();

her kommer menu...

if ($_SESSION['brugergrad']=='admin') {

her kommer admin menu....
}
?>

Selve elevsiden og alle andre sider starter med:

<?php session_start(); ?>
<?php if ($_SESSION[godkendt]) { ?>
<?php
include "connect.php";
include "functions.php";
?>

<?php html_top(); ?>

Og til sidst ser min session.php sådan her ud:

<?php
    session_start();
   
    DB CONNECT...
   
    $sql =    "select nr,brugergrad from kwondobruger
        where brugernavn='$_POST[navn]' and password='$_POST[password]'";

        $res=mysql_query($sql,$mydb);
       
        $num_rows = mysql_num_rows($res);
       
        if ($num_rows!=0) {
                       
            $nummer = mysql_result($res,0,0);
            $brugergrad = mysql_result($res,0,1);
           
            $_SESSION['brugergrad']=$brugergrad;
            $_SESSION['brugernr']=$nummer;
            $_SESSION['godkendt']=true;
            $_SESSION['login_navn']=$_POST[navn];
            header("location: htmlarea/front.php");
           
        }
       
        else {
       
            $_SESSION['godkendt']=false;
            header("location: ikke_adgang.php");
        }
               
?>
Avatar billede jakobdo Ekspert
27. maj 2008 - 13:52 #1
I din kode session.php har du et udtræk fra databasen, som gør brug af $_POST
Hvis ikke der postes, men session.php bruges, så logger den ud.
Kan det være problemet ?
Avatar billede kren1000 Nybegynder
27. maj 2008 - 15:01 #2
Det lyder logisk det du skriver, men der er dog lige et par ting.

Jeg har nu gjort så den skriver brugernavnet på forsiden af adminsiden og det sjove er at selv når admin menuen forsvinder, kan jeg stadig på forsiden, se at jeg er logget ind som admin.

Men jeg bruger jo også kun session.php når jeg logger ind første gang ikke?

Kan det have noget at gøre med at menu.php bliver hentet ind i functions.php, som bliver hentet ind på selve siderne?
Avatar billede showsource Seniormester
27. maj 2008 - 15:25 #3
Hvis server kører med register_globals on, får du problemer hvis du bruger to "ens" navne, f.ex.

$brugergrad = "noget";
$_SESSION["brugergrad"] = "nogetandet";

Prøv at udskrive i starten og til slut
Avatar billede kren1000 Nybegynder
27. maj 2008 - 16:38 #4
Ja ok, er dog helt med på hvad der skal skrives ud og hvor?

Jeg har forresten lige prøvet at slette: $_SESSION['brugergrad']=$brugergrad;
og det ændrer ikke noget, så måske det bare kan fjernes?
Avatar billede jakobdo Ekspert
27. maj 2008 - 22:01 #5
Hvis det ikke ændrer noget, så har du problemet som showsource er inde på.
Prøv at ret navnene på variabler i session til f.eks.:

$_SESSION['s_brugergrad'] altså smid s_ foran dem alle.
Måske det kan afhjælpe problemet.
Avatar billede kren1000 Nybegynder
28. maj 2008 - 10:26 #6
For hulen da, det ser ud til at virke med det hele nu:)

Jeg takker mange gange, det har drillet som bare f...

Hvordan med points og sådan, er det noget med en deler?
Avatar billede kren1000 Nybegynder
28. maj 2008 - 10:26 #7
Alså det hjalp med at gøre skrive s_ foran forresten:)
Avatar billede jakobdo Ekspert
28. maj 2008 - 12:21 #8
Dele er ok med mig! :o)
Avatar billede kren1000 Nybegynder
29. maj 2008 - 14:46 #9
venter lige et par dage og ser om han er med:)
Avatar billede showsource Seniormester
29. maj 2008 - 15:04 #10
ok
Avatar billede kren1000 Nybegynder
29. maj 2008 - 17:10 #11
Så er den ged barberet:)
Avatar billede jakobdo Ekspert
30. maj 2008 - 07:06 #12
Takker for point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester