Avatar billede mussepower5 Nybegynder
20. maj 2008 - 17:15 Der er 10 kommentarer

admins only

hejsa eksperter. Jeg er ved at bygge en hjemmeside op hvor der er en blog der viser user ( det virker fint ) og så skal det være nogle katokorier neden under...

problemet kommer så når det skal være admins only.. d.v.s at det kun er en person med f.eks en rank over 1 der kan se dette.
( normale user har rank = 0 )

hvordan skriver jeg denne lille kode ind? ( min index lyder sådan:

<?php
session_start();
include "./global.php";
?>

<html>

    <head>
        <title>forum</title>
       
        <style type="text/css">
            body {
                background-color: #D4D4D4;
                color: #000000;
                font-family:Tahoma;
                front-site:10pt;
            }
           
            #holder {
                width: 90%;
                color: #000000;
                font-family:Tahoma;
                border:1px solid #000000;
                padding:10px;
                text-align:left;               
            }
           
            #userinfo {
                color:#000000;
                font-family:Tahoma;
                border:1px solid #999999;
                text-align:right;
                padding:3px;           
            }
            #userinfo a{
                color:#ff0000;
                text-decoration:none;
                }
               
            #exstrabox{
                color:#000000;
                font-family:Tahoma;
                border:1px solid #999999;
                text-align:left;
                padding:3px;
            }
            #exstrabox a{
                color:#ff0000;
            }
            #forumbanner{
                background-color:#B8B8B8;
                color:#ff0000;
                font-family:Tahoma;
                border:1px solid #999999;
                text-align:left;
                padding: 3px;
            }
        </style>
    </head>
   
    <body>
        <center>
            <div id="holder">
                <div id="userinfo">
                    <?php
                        if(isset($_SESSION['user']))
                        {echo "hej, " . $_SESSION['user']; echo" | <a href=/logout.php>log ud</a>";
                         
                        }else{
                       
                        echo "hallo,
                          g&aelig;st <a href=/register.php>register</a> | <a href=/login.php>log in</a>";}
                    ?>
                </div>
<br>
            <div id="exstrabox">
            <div id="forumbanner">
                <?php
                    // Her skal det synlige og usynlige så være inden i...//
                ?>
            </div>
            <a href="altmugligsnak.php">alt mulig snak"</a>
           
           
            </div>
            </div>
        </center>
    </body>
   

</html>
Avatar billede w13 Novice
20. maj 2008 - 17:48 #1
Ja, så må du jo enten hente Rank fra din database (ud for det brugernavn der ligger i din session) eller sørge for at gemme Rank i en anden session, når man logger ind.
Avatar billede mussepower5 Nybegynder
20. maj 2008 - 17:57 #2
jeg henter den fra databasen.. regnet noget i stil med $_SESSION * selet from 'login''rank';

if $_rank < 1 { echo" // det som alle kan se//;};
else
{echo" //den som kun admin kan se//";};
Avatar billede w13 Novice
20. maj 2008 - 18:13 #3
Ja, det ser nogenlunde rigtigt ud.

Som regel vil man dog bare i toppen af siden tjekke, om rank er korrekt, og hvis det ikke er, bliver man smidt videre til en anden side, hvor der står "Du kan ikke se siden" eller sådan noget. Så skal du ikke echo'e hele indholdet.
Avatar billede mussepower5 Nybegynder
20. maj 2008 - 18:28 #4
eh... nej man skal ike kunne se noget link i siden nu giver jeg et eksempel:

normal user kan se: link 1

admin kan se link 1 og link 2

alså en kode er tjekker om hvad ranken er og siger om den er støre eller mindre end der påkraves:

if $_rank < when 1{
echo"";}
else
{echo"<a href=/link1.php>link 1</a>";};


men hvad er koden så den tjekker det???
Avatar billede w13 Novice
20. maj 2008 - 18:51 #5
if $_SESSION['rank']>=1{
  echo "Indhold";
}
Avatar billede mussepower5 Nybegynder
20. maj 2008 - 21:06 #6
hm.. jeg får af vide at der er fejl i  echo "Indhold"; vilket jeg ikke forstår


<?php
session_start();
include "./global.php";
?>

<html>

    <head>
        <title>forum</title>
       
        <style type="text/css">
            body {
                background-color: #D4D4D4;
                color: #000000;
                font-family:Tahoma;
                front-site:10pt;
            }
           
            #holder {
                width: 90%;
                color: #000000;
                font-family:Tahoma;
                border:1px solid #000000;
                padding:10px;
                text-align:left;               
            }
           
            #userinfo {
                color:#000000;
                font-family:Tahoma;
                border:1px solid #999999;
                text-align:right;
                padding:3px;           
            }
            #userinfo a{
                color:#ff0000;
                text-decoration:none;
                }
               
            #exstrabox{
                color:#000000;
                font-family:Tahoma;
                border:1px solid #999999;
                text-align:left;
                padding:3px;
            }
            #exstrabox a{
                color:#ff0000;
            }
            #forumbanner{
                background-color:#B8B8B8;
                color:#ff0000;
                font-family:Tahoma;
                border:1px solid #999999;
                text-align:left;
                padding: 3px;
            }
        </style>
    </head>
   
    <body>
        <center>
            <div id="holder">
                <div id="userinfo">
                    <?php
                        if(isset($_SESSION['user']))
                        {echo "hej, " . $_SESSION['user']; echo" | <a href=/logout.php>log ud</a>";
                         
                        }else{
                       
                        echo "hallo,
                          g&aelig;st <a href=/register.php>register</a> | <a href=/login.php>log in</a>";}
                    ?>
                </div>
<br>
            <div id="exstrabox">
            <div id="forumbanner">
                hej
            </div>
            <?php
            if $_SESSION['rank']>=1{
            echo  "Indhold";
}            ?>
            </div>
            </div>
        </center>
    </body>
   

</html>
Avatar billede dkfire Nybegynder
21. maj 2008 - 09:41 #7
Prøv at rette:
<?php
            if $_SESSION['rank']>=1{
            echo  "Indhold";
}            ?>
Til:
<?php
            if (isset($_SESSION['rank']) && $_SESSION['rank']>=1){
            echo  "Indhold";
}            ?>
Avatar billede w13 Novice
21. maj 2008 - 09:51 #8
Du ka' også lige rette:

{echo "hej, " . $_SESSION['user']; echo" | <a href=/logout.php>log ud</a>";

til:

{echo "hej, " . $_SESSION['user'] . " | <a href=/logout.php>log ud</a>";
Avatar billede mussepower5 Nybegynder
23. maj 2008 - 15:06 #9
okay.. nu kommer der da ikke nogle errors.. men, den viser heller ikke indhold selv om min user har rank 2
Avatar billede w13 Novice
23. maj 2008 - 15:07 #10
Prøv at undersøge, om $_SESSION['rank'] indeholder det rigtige.
Og evt. om det er af typen tekst, dvs. '1' og ikke 1 - for så skal der jo netop apostroffer omkring.
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