Rechten bij ledensysteem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Jznwlnl

Jznwlnl

31/07/2006 19:56:00
Quote Anchor link
Hoi,

Ik heb een ledensysteem gemaakt

nu heb ik in mijn tabel "leden" een veld "status" daar heb ik bij de meeste gebruikers gewoon standaard Lid in laten zetten(standaardwaarde) en bij een aantal Webmaster, Nieuwsposter en Moderator

Nu wil ik als ik inlog met mijn account en ik ben Webmaster dat ik dan de Adminfuncties te zien krijg, Als Piet inlogd en hij is een Moderator dat hij zijn Moderator menu te zien krijgt etc.

hoe fix ik dit ??

groeten.
 
PHP hulp

PHP hulp

22/11/2024 09:35:37
 
Lissy Pixel

Lissy Pixel

31/07/2006 20:02:00
Quote Anchor link
Ga is kijken in het Nieuwssysteem van Arjan hoe hij dit heeft opgelost.
Je kan hem vinden bij de scripts hier op de site.

Om rechtenniveaus aan te leggen is een goede opbouw van database zeer essentieel.
Dus als ik jou was ging ik daar ook naar kijken.

Suc6 in iedergeval
 
Arjan Kapteijn

Arjan Kapteijn

31/07/2006 20:12:00
Quote Anchor link
Voor het menu is een simpele switch waarschijnlijk voldoende...

Hou er rekening mee dat je in de functies zelf ook nog even controlleerd of iemand de juiste rechten heeft. Alleen een linkje naar de pagina verbergen is niet handig ;).
 
Jznwlnl

Jznwlnl

31/07/2006 20:31:00
Quote Anchor link
Ik snap dit gedeelte nog niet helemaal.

Hebben ook gekeken bij het script alleen het download hier lukt niet helemaal.

Hebben jullie een goed voorbeeld scriptje zodat ik het verder toe kan passen in me ledensysteem??, verder blijf ik zelf ook opzoek ;)
 
Arjan Kapteijn

Arjan Kapteijn

31/07/2006 20:43:00
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
14
<?php
switch ($status)
{
    case
'admin':
        ...

        break;
    case
'mod':
        ...

        break;
    case
'lezer':
        ...

        break;
}

?>
 
Jznwlnl

Jznwlnl

31/07/2006 21:24:00
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
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
// session starten
session_start();

if ($_SESSION['login'] == 'Inloggen') {

switch ($status)
{
    case
'admin':
        echo "
Welkom <b>"
.$_SESSION['user']."</b><br><br>
<a href=\"vprofiel.php?id="
.$_SESSION['id']."\">Profiel Veranderen</a><br>
<a href=\"profiel.php?id="
.$_SESSION['id']."\">Profiel Bekijken</a><br>
<a href=\"ledenlijst.php\">Ledenlijst</a><br><br>
<b>Gastenboek</b><br>
<a href=\"http://www.jznwlnl.org/includes/gboek/voegtoe.php\">Bericht toevoegen</a><br><br>
<b>Overige opties</b><br>
<a href=\"uitloggen.php\">Uitloggen</a>
<br><br>
"
;
        break;
    case
'mod':
      echo "
Welkom <b>"
.$_SESSION['user']."</b><br><br>
<a href=\"vprofiel.php?id="
.$_SESSION['id']."\">Profiel Veranderen</a><br>
<a href=\"profiel.php?id="
.$_SESSION['id']."\">Profiel Bekijken</a><br>
<a href=\"ledenlijst.php\">Ledenlijst</a><br><br>
<b>Gastenboek</b><br>
<a href=\"http://www.jznwlnl.org/includes/gboek/voegtoe.php\">Bericht toevoegen</a><br><br>
<b>Overige opties</b><br>
<a href=\"uitloggen.php\">Uitloggen</a>
<br><br>
"
;
        break;
    case
'lezer':
     echo "
Welkom <b>"
.$_SESSION['user']."</b><br><br>
<a href=\"vprofiel.php?id="
.$_SESSION['id']."\">Profiel Veranderen</a><br>
<a href=\"profiel.php?id="
.$_SESSION['id']."\">Profiel Bekijken</a><br>
<a href=\"ledenlijst.php\">Ledenlijst</a><br><br>
<b>Gastenboek</b><br>
<a href=\"http://www.jznwlnl.org/includes/gboek/voegtoe.php\">Bericht toevoegen</a><br><br>
<b>Overige opties</b><br>
<a href=\"uitloggen.php\">Uitloggen</a>
<br><br>
"
;
        break;
}

?>

</body>
</html>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
}
else
{
?>

<html>
<body>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
echo "Je bent niet ingelogd !<br>
<a href=\"inloggen.php\">Inloggen</a><br>
<a href=\"registreer.php\">Registreren</a>
"
;
?>

</body>
</html>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
}
?>


Een pagina zoiets al dit zou wel kloppen??, alleen de $status var alleen nog controleren qua status.

ik ga het proberen!
 
Cake Masher

Cake Masher

31/07/2006 22:50:00
Quote Anchor link
ik deed het altijd zo :P :
ergens in config of zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
if($status == 'admin')
{

$admin=1;
$mod=1;
}

else
if($status == 'mod')
{

$mod=1
}
?>


en dan op de pagina :
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
<?php
include('datbestand.php');

if($admin)
{

// admin krijgt mod + admin menu te zien.
}
else
if($mod)
{

// mod krijgt alleen het mod menu te zien.
}
// hier het gebruikers menu dat iedereen te zien krijgt.
?>
Gewijzigd op 01/01/1970 01:00:00 door Cake Masher
 
Jznwlnl

Jznwlnl

01/08/2006 13:07:00
Quote Anchor link
Als je in het eerste bestand $mod=1 doet

moet je dan niet dit doen??

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
if($mod = 1)
{

echo "Mod menu";
}

else
{
echo "Jij bent geen mod";
}

?>

??>
 
- wes  -

- wes -

01/08/2006 13:10:00
Quote Anchor link
== != =
 
Bo az

Bo az

01/08/2006 13:14:00
 
Arend a

Arend a

01/08/2006 14:17:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
if($mod = 1)
?>


$mod = 1; is een toekenning. Een toekenning, wanneer gelukt zal altijd TRUE returnen, dus deze toekenning zal altijd waar zijn.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
if ($mod == 1)
?>


Is degene die je zoekt.
 
Jznwlnl

Jznwlnl

01/08/2006 15:37:00
Quote Anchor link
Ik had dit script

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
// Rechten en Ranks weergeving.
$status1 = mysql_query("SELECT * FROM leden WHERE id = '".id."'") or die(mysql_error());
$status = mysql_fetch_assoc($status1);

// Webmaster
if($status['status'] == "Webmaster")
{

$webmaster=1;
$moderator=1;
$nieuwsposter=1;
$lid=1;
}

else
{
echo "Geen toegang?";
}


if($status['status'] == "Moderator")
{

$moderator=1
$nieuwsposter
=1
}
else
{
echo "Geen toegang?";
}


if($status['status'] == "Nieuwsposter")
{

$nieuwsposter=1
}
else
{
echo "Geen toegang";
}


if($status['status'] == "Lid")
{

$lid=1
}
else
{
echo "Niet geregistreert";
}

?>


onder de dbconnectie gezet en toen werkte bij niets meer

www.jznwlnl.org/includes/leden/ledenlijst.php
www.jznwlnl.org/includes/leden/inloggen.php
www.jznwlnl.org/includes/leden/index.php

Heb het weer even teruggezet

dit is mijn index :

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
// config
include('config.php');

// session starten
session_start();

if ($_SESSION['login'] == 'Inloggen') {

//webmaster
if($webmaster == 1)
{

Nieuws wijzigen
Gastenboek
Leden
Artikelen
Scripts
}
else
{
echo "Geen toegang";
}


//moderator
if($moderator == 1)
{

Nieuws wijzigen
Gastenboek
Artikelen
Scripts
}
else
{
echo "Geen toegang";
}


if($nieuwsposter == 1)
{

Nieuws wijzigen
}
else
{
echo "Geen toegang";
}


?>

</body>
</html>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
}
else
{
?>

<html>
<body>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
echo "Je bent niet ingelogd !<br>
<a href=\"inloggen.php\">Inloggen</a><br>
<a href=\"registreer.php\">Registreren</a>
"
;
?>

</body>
</html>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
}
?>


de index doet het nog steeds niet die heb ik wel gewoon gelaten, wat zijn de grote fouten??
Gewijzigd op 01/01/1970 01:00:00 door Jznwlnl
 
Zim Zim

Zim Zim

01/08/2006 15:48:00
Quote Anchor link
Ikke doe het meestal anders, ik werk met rangen van cijfers.

Zoals:
admin = 99;
mod = 50;
lid = 1;

en dan doe ik
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?
if($rang >= 50){
echo 'toegang alleen voor mod en admin';
}
else {
echo 'Je hebt geen toegang';
}

?>

DIt doe ik omdat een een mod hetzelfde mag als een admin, alleen de admin mag meer. Zo hoef je niet ene paar keer dezelfde pagina aan te maken
Gewijzigd op 01/01/1970 01:00:00 door Zim Zim
 
Jznwlnl

Jznwlnl

01/08/2006 21:38:00
Quote Anchor link
moet is admin = 99; etc. in me config zetten??

hoe kom je aan $rang etc.? moet ik die uit de data base halen of gewoon zo doen:

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
<?php
$rang
= $_SESSION['user'];

$rang = 99; // admin
$rang = 60; // moderator
$rang = 30; // nieuwsposter
$rang = 0; // gebruikers

if($rang == 99)
{

echo "Hier het admin menu";
}

else
{
echo "Geen toegang of niet geregistreert";
}

?>


Zou zoiets kunnen werken ??
 
Gerben G

Gerben G

01/08/2006 21:42:00
Quote Anchor link
als ik jou was zou ik die rank uit de database halen.
dat is makkelijker i.v.m. aanpassingen
 
- SanThe -

- SanThe -

01/08/2006 21:46:00
Quote Anchor link
Jznwlnl:
moet is admin = 99; etc. in me config zetten??

hoe kom je aan $rang etc.? moet ik die uit de data base halen of gewoon zo doen:

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
<?php
$rang
= $_SESSION['user'];

$rang = 99; // admin
$rang = 60; // moderator
$rang = 30; // nieuwsposter
$rang = 0; // gebruikers

if($rang == 99)
{

echo "Hier het admin menu";
}

else
{
echo "Geen toegang of niet geregistreert";
}

?>


Zou zoiets kunnen werken ??


Hier geef je $rang 5 keer een nieuwe waarde en de laatste $rang=0 is dus de waarde van $rang.
 
Jznwlnl

Jznwlnl

01/08/2006 21:51:00
Quote Anchor link
dat heb ik geprobeerd maar toen werkte er niet veel meer, althans dat had ik uitgevoerd in de config.

ik werk met assoc

stel ik doe het zo:

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
$status1
= mysql_query("SELECT status FROM table WHERE id = '".$id."'") or die(mysql_error());
$status = mysql_fetch_assoc($status1)
{


if($status['status'] =(=//1 of 2?) "Webmaster")
{
echo "Webmaster menu";
}

else
{
echo "Geen toegang of niet geregistreert";
}



if($status['status'] =(=//1 of 2??) "Moderator")
{
echo "Moderator menu";
}

else
{
echo "Geen toegang of niet geregistreert";
}


}

?>


of dit:

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
<?php
$status1
= mysql_query("SELECT status FROM table WHERE id = '".$id."'") or die(mysql_error());
$status = mysql_fetch_assoc($status1)
{


$rang = $_SESSION['user'];
$rang = $status['status'];

if($rang == "Webmaster")
{

echo "Webmaster menu":
}

}

?>


groeten
 
- SanThe -

- SanThe -

01/08/2006 21:58:00
Quote Anchor link
Wat staat er in de database bij status? Is dat een getal of een woord?
 
Jznwlnl

Jznwlnl

01/08/2006 22:06:00
Quote Anchor link
een woord, Nieuwsposter, Webmaster, Moderator

en de standaardwaarde is Lid
 
- SanThe -

- SanThe -

01/08/2006 22:14:00
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
14
15
16
<?php
$status1
= mysql_query("SELECT status FROM table WHERE id = '".$id."'") or die(mysql_error());
$status = mysql_fetch_assoc($status1);
if($status['status'] == "Webmaster")
{

    echo "Webmaster menu";
}

elseif($status['status'] == "Moderator")
{

    echo "Moderator menu";
}

else
{
    echo "Geen toegang of niet geregistreert";
}

?>
 
Jznwlnl

Jznwlnl

02/08/2006 14:25:00
Quote Anchor link
Ik heb het bovenstaande toegepast in mijn script, maar zoals je ziet op www.jznwlnl.org/includes/leden/index.php is het beeld wit terwijl er eigenlijk "niet ingelogd" moet staan.

Hier mijn script

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<?php
// config
include('config.php');

// session starten
session_start();

if ($_SESSION['login'] == 'Inloggen') {

$status1 = mysql_query("SELECT status FROM leden WHERE id = '".$id."'") or die(mysql_error());
$status = mysql_fetch_assoc($status1);

if($status['status'] == "Webmaster")
{

echo "
Welkom <b>"
.$_SESSION['user']."</b><br><br>
<a href=\"vprofiel.php?id="
.$_SESSION['id']."\">Profiel Veranderen</a><br>
<a href=\"profiel.php?id="
.$_SESSION['id']."\">Profiel Bekijken</a><br>
<a href=\"ledenlijst.php\">Ledenlijst</a><br><br>
<b>Gastenboek</b><br>
<a href=\"http://www.jznwlnl.org/includes/gboek/voegtoe.php\">Bericht toevoegen</a><br><br>
<b>Overige opties</b><br>
Ledenadmin
Nieuwsadmin
IP Ban
<a href=\"uitloggen.php\">Uitloggen</a>
<br><br>
"
;
}

elseif($status['status'] == "Moderator")
{

echo "
Welkom <b>"
.$_SESSION['user']."</b><br><br>
<a href=\"vprofiel.php?id="
.$_SESSION['id']."\">Profiel Veranderen</a><br>
<a href=\"profiel.php?id="
.$_SESSION['id']."\">Profiel Bekijken</a><br>
<a href=\"ledenlijst.php\">Ledenlijst</a><br><br>
<b>Gastenboek</b><br>
<a href=\"http://www.jznwlnl.org/includes/gboek/voegtoe.php\">Bericht toevoegen</a><br><br>
<b>Overige opties</b><br>
Ledenadmin
<a href=\"uitloggen.php\">Uitloggen</a>
<br><br>
"
;
}

elseif($status['status'] == "Nieuwsposter")
{

echo "
Welkom <b>"
.$_SESSION['user']."</b><br><br>
<a href=\"vprofiel.php?id="
.$_SESSION['id']."\">Profiel Veranderen</a><br>
<a href=\"profiel.php?id="
.$_SESSION['id']."\">Profiel Bekijken</a><br>
<a href=\"ledenlijst.php\">Ledenlijst</a><br><br>
<b>Gastenboek</b><br>
<a href=\"http://www.jznwlnl.org/includes/gboek/voegtoe.php\">Bericht toevoegen</a><br><br>
<b>Overige opties</b><br>
Nieuws posten
<a href=\"uitloggen.php\">Uitloggen</a>
<br><br>
"
;
}

elseif($status['status'] == "Lid")
{

echo "
Welkom <b>"
.$_SESSION['user']."</b><br><br>
<a href=\"vprofiel.php?id="
.$_SESSION['id']."\">Profiel Veranderen</a><br>
<a href=\"profiel.php?id="
.$_SESSION['id']."\">Profiel Bekijken</a><br>
<a href=\"ledenlijst.php\">Ledenlijst</a><br><br>
<b>Gastenboek</b><br>
<a href=\"http://www.jznwlnl.org/includes/gboek/voegtoe.php\">Bericht toevoegen</a><br><br>
<b>Overige opties</b><br>
<a href=\"uitloggen.php\">Uitloggen</a>
<br><br>
"
;
}


else
{
echo "Geen toegang of niet geregistreert";
?>

</body>
</html>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
}
else
{
?>

<html>
<body>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
echo "Je bent niet ingelogd !<br>
<a href=\"inloggen.php\">Inloggen</a><br>
<a href=\"registreer.php\">Registreren</a>
"
;
?>

</body>
</html>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
}
?>


Ik denk dat vooral het laatste deel fout is(Vanaf de controle van de rang Lid)
Gewijzigd op 01/01/1970 01:00:00 door Jznwlnl
 

Pagina: 1 2 volgende »



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.