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.
Ik had dit script

<?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 :

<?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>
<?php
}
else
{
?>
<html>
<body>
<?php
echo "Je bent niet ingelogd !<br>
<a href=\"inloggen.php\">Inloggen</a><br>
<a href=\"registreer.php\">Registreren</a>
";
?>
</body>
</html>
<?php
}
?>

de index doet het nog steeds niet die heb ik wel gewoon gelaten, wat zijn de grote fouten??
Ikke doe het meestal anders, ik werk met rangen van cijfers.

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

en dan doe ik
<?
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
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:

<?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 ??
als ik jou was zou ik die rank uit de database halen.
dat is makkelijker i.v.m. aanpassingen
Jznwlnl schreef op 01.08.2006 21:38
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:

<?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.
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:

<?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:

<?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
Wat staat er in de database bij status? Is dat een getal of een woord?
een woord, Nieuwsposter, Webmaster, Moderator

en de standaardwaarde is Lid
<?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";
}
?>
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

<?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>
<?php
}
else
{
?>
<html>
<body>
<?php
echo "Je bent niet ingelogd !<br>
<a href=\"inloggen.php\">Inloggen</a><br>
<a href=\"registreer.php\">Registreren</a>
";
?>
</body>
</html>
<?php
}
?>

Ik denk dat vooral het laatste deel fout is(Vanaf de controle van de rang Lid)

Reageren