Functies gekoppeld aan rangen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Glenn B

Glenn B

27/11/2013 15:53:57
Quote Anchor link
Hallo,

Voor mijn laatste jaar IT & Netwerken moet ik een eindwerk maken en ik heb gekozen voor het bouwen van een website.
Op het moment is het me gelukt om te programmeren dat mensen zich kunnen registreren en inloggen. Het is de bedoeling dat er een forum en alles komt, maar het forum moet ik nog even achterwegen laten. Toch zou ik al graag ervoor kunnen zorgen dat bepaalde links in het menu en functies enkel zichtbaar zijn voor een bepaalde groep gebruikers. In dit geval zal het gaan om moderators.

Daarnaast zou ik graag ook al weten hoe ik ervoor kan zorgen dat bepaalde links in het menu onzichtbaar zijn voor gasten die geen account hebben. Ik weet wel al hoe ik ervoor kan zorgen dat gasten zonder account geen toegang hebben op bepaalde pagina's, maar je ziet dan wel nog steeds als gast de link in het menu. Ik hoop dat het een beetje duidelijk is en alvast bedankt voor de hulp. :')
 
PHP hulp

PHP hulp

17/11/2024 07:25:28
 
R van der Meer

R van der Meer

27/11/2013 16:03:41
Quote Anchor link
Op die zelfde manier als je de gasten blokkeert op de pagina. Met een IF functie kun je ook bijvoorbeeld zeggen dat bepaalde links niet getoond moeten worden.
 
Kris Peeters

Kris Peeters

27/11/2013 16:13:16
Quote Anchor link
Lees even mijn reactie hier:

http://www.phphulp.nl/php/forum/topic/login-script-php-mysql/93015/#666385

Misschien kan dat inspiratie leveren
 
Glenn B

Glenn B

29/11/2013 14:50:25
Quote Anchor link
Bedankt voor de hulp! Maar toch snap ik nog steeds niet hoe ik een link in het menuy op onzichtbaar kan zetten.

Pagina's op onzichtbaar en zichtbaar zetten voort bepaalde users heb ik op de volgende manier gedaan:

Inloggen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
session_start();
if (isset($_POST['username']) && isset($_POST['wachtwoord']))
    {

    $gebruikersnaam=$_POST['username'];
    $wachtwoord=$_POST['wachtwoord'];
    include('verbind.php');
    $query='SELECT gebruikersnaam, wachtwoord FROM gebruikers '."WHERE gebruikersnaam='$gebruikersnaam' "." AND wachtwoord='$wachtwoord' "." AND rank=0";
    $result=mysql_query($query,$cn);
    if(mysql_num_rows($result) >0)
        {

        $_SESSION['valid_user'] = $gebruikersnaam;
        }
    }

if (isset($_POST['username']) && isset($_POST['wachtwoord']))
    {

    $gebruikersnaam=$_POST['username'];
    $wachtwoord=$_POST['wachtwoord'];
    include('verbind.php');
    $query='SELECT gebruikersnaam, wachtwoord FROM gebruikers '."WHERE gebruikersnaam='$gebruikersnaam' "." AND wachtwoord='$wachtwoord' "." AND rank=1";
    $result=mysql_query($query,$cn);
    if(mysql_num_rows($result) >0)
        {

        $_SESSION['mod_user'] = $gebruikersnaam;
        }
    }

?>


Voorbeeld pagina
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
echo '<h1>Instellingen</h1>';
if (isset($_SESSION['valid_user']) || ($_SESSION['mod_user']))
        {

        include('instellingen2.php');
        }

else
        {
        echo '<p>Je bent niet aangemeld.</p>';
        echo '<p>Alleen aangemelde gebruikers mogen deze pagina zien.</p>';
        }

?>


Nu zou ik bijvoorbeeld deze links niet zichtbaar willen hebben in mijn menu voor gasten die zicht niet aangemeld hebben.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<html>
<LI>
    <A HREF="#">Profiel</A>
        <UL>
            <LI><A HREF="#">Bekijk profiel</A></LI>
            <LI><A HREF="?action=profielsettings">Bewerk profiel</A></LI>
            <LI><A HREF="#">Privberichten</A></LI>
            <LI><A HREF="?action=instellingen">Instellingen</A></LI>
        </UL>
</LI>
</html>


Ik heb al een paar dingen geprobeerd waarvan ik eigenlijk al dacht dat ze niet zouden werken, maar ik kon altijd proberen. Ze werkten dus ook niet, maar ik weet dus geen manier om ze onzichtbaar te krijgen voor niet aangemelde gasten.
Gewijzigd op 29/11/2013 14:51:49 door Glenn B
 
Ivo P

Ivo P

29/11/2013 15:06:28
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<html>
<LI>
<?php if(!isset($_SESSION['valid_user'])) : ?>
    <A HREF="#">Profiel</A>
        <UL>
            <LI><A HREF="#">Bekijk profiel</A></LI>
            <LI><A HREF="?action=profielsettings">Bewerk profiel</A></LI>
            <LI><A HREF="#">Privberichten</A></LI>
            <LI><A HREF="?action=instellingen">Instellingen</A></LI>
        </UL>
<?php endif; ?>
</LI>
</html>


ps: waarom html tags in hoofdletters? dat doen we toch al 10 jaar in kleine?

Toevoeging op 29/11/2013 15:09:09:

ps2: rangen volgt meestal de redenering dat iemand met een hogere rang meer mag zien.

Maar in de praktijk is dat vaak niet zo:
gewone medewerker mag 5 items zien.
medewerker van de boekhouding mag ook financien zien
maar medewerker van hr mag naast de 5 items ook de dingen van personeelszaken in, maar zeker niet in de boekhouding kijken.

en zo iets geldt ook vaak voor websites.
 
Glenn B

Glenn B

29/11/2013 15:16:40
Quote Anchor link
Je kunt de link nog steeds zien staan als ik uitgelogd ben.

Dat is een gewoonte geworden. :') Vorig jaar moesten we de html tags altijd in hoofdletters typen. Vraag me niet waarom, want dat moesten we gewoon op school. ^^
 
Obelix Idefix

Obelix Idefix

30/11/2013 10:43:19
Quote Anchor link
Lijkt er op dat ze op http://www.pfz.nl/forum/topic/10202-onzichtbare-menu-items/ ook wat tips geven.

Hoeveel kennis heb je van html, css en php (/mysql)?
 
Glenn B

Glenn B

01/12/2013 16:03:34
Quote Anchor link
Het is toch gelukt uiteindelijk.
De session_start(); ontbrak in het index.php bestand. Ik dacht dat ik die daar al had aangeroepen, maar blijkbaar niet.

Eigenlijk heel weinig. Met html en css kan ik me wel nog behelpen, maar php en mysql gaat me wat moeilijker af. :')
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.