buttons alleen zichtbaar voor administrator.
ik heb een inlog script draaien waar ik de admin ben en de rest user. (5 pers)
nu wil ik dat als ik inlog ik in het button menu een button heb voor admin cp.
als ik dit nu doe dan zien de users dit ook.
als de user er op klikt wordt bij weer naar de inlog pagina gestuurd.
als de admin dit doet kom ik wel op de goeie pagina.
ik vind het storend dat de users deze button ook zien hoe kan ik dit veranderen?
stukje code hier onder:
Quote:
<p> </p>
<p> </p>
<p> </p></td>
<td width="732" valign="top">
<h3 class="titlehdr">My Account - Settings</h3>
<p>
</p>
<center>
<FORM METHOD="link" ACTION="admin.php">
<p>
<input type="submit" value="Admin Control Pannel" style="width:200px; height:30px;">
</p>
</FORM>
</center>
Code (php)
1
2
3
4
2
3
4
<?php
if (checkAdmin()) {
/*******************************END**************************/
?>
if (checkAdmin()) {
/*******************************END**************************/
?>
<p> </p>
<p> </p>
<p> </p></td>
<td width="732" valign="top">
<h3 class="titlehdr">My Account - Settings</h3>
<p>
Code (php)
</p>
<center>
<FORM METHOD="link" ACTION="admin.php">
<p>
<input type="submit" value="Admin Control Pannel" style="width:200px; height:30px;">
</p>
</FORM>
</center>
Gewijzigd op 24/05/2012 22:14:18 door Marcel sauer
Werk je met een database? Meer details a.u.b.
ja werk met een database.
Je zult ergens de bevoegdheid van een user en administrator hebben vastgelegd. (in een tabel). Op basis van de bevoegdheid dan de button (niet) tonen.
Quote:
in dbc.php staan de levels voor admin :
Quote:
http://php-login-script.com/
Gewijzigd op 24/05/2012 22:18:52 door marcel sauer
Dan kun je toch controleren op het level-niveau? Als dat != 5 is, dan geen button tonen.
ik als admin moet de button wel kunnen zien.
dus dat wordt dan zo iets toch:
Quote:
waar staat de uitroep voor?
maar hoe zeg ik dan dat ik geen button of text wil laten zien?
Quote:
if statement werkt als volgt:
In de conditie kan je aangeven wanneer er iets moet uitgevoerd worden. In dit geval wil je dat er iets wordt uitgevoerd wanneer het level van de ingevoegde persoon (deze moet wel ergens in een variabele zit) hoger of gelijk aan het ADMIN_LEVEL is:
De >= kun je in 2 gedeelten opsplitsen: > en =(=). De > betekend dat het getal links groter moet zijn dan het getal rechts en de == betekend dat de getallen gelijk moeten zijn. Als je dat combineert krijg je >= en dat betekend gelijk aan of groter dan.
Vervolgens kun je het geen er moet worden uitgevoerd in de statement plaatsen:
De In de conditie kan je aangeven wanneer er iets moet uitgevoerd worden. In dit geval wil je dat er iets wordt uitgevoerd wanneer het level van de ingevoegde persoon (deze moet wel ergens in een variabele zit) hoger of gelijk aan het ADMIN_LEVEL is:
De >= kun je in 2 gedeelten opsplitsen: > en =(=). De > betekend dat het getal links groter moet zijn dan het getal rechts en de == betekend dat de getallen gelijk moeten zijn. Als je dat combineert krijg je >= en dat betekend gelijk aan of groter dan.
Vervolgens kun je het geen er moet worden uitgevoerd in de statement plaatsen:
mocht ik er niet uit komen dan post ik wel weer even hoever ik gekomen ben!
operators.comparison
Overigens een overzicht van alle operators die je kunt gebruiken in de conditie gedeelte: Gewijzigd op 24/05/2012 22:52:24 door Wouter J
Gebruik voor je echo's enkele queotes ' en voor HTML dubbelen ". Dat scheelt je een hoop \ overal.
Wat ik meestal doe als ik een los admin menu heb (meer als 1 button), is het volgende.
Code (php)
P.S. als je met een database werkt, waarom heb je dan je user levels in een php bestandje staan? Hoe weet je nu welke gebruiker wat heeft?
in de database wordt alleen het nr opgeslagen.
ik heb de code van Chris gebruikt maar met gevolg dat de hele pagina niet geladen kan worden.
heb het even geprobeerd met een hyper link om te testen.
wat doe ik fout dan?
Quote:
edit : ok ben nu weer een hele avond aan het klooien geweest veel gelezen op internet maar nog geen steek verder.
Gewijzigd op 25/05/2012 21:45:48 door marcel sauer
heb ook gevonden dat mijn $_SESSION['user_level'] is en geen userlvl dus.
Quote:
?>
<a href="vervangbaar.php">admin test</a>
<a href="vervangbaar.php">admin test</a>
Code (php)
<a href="vervangbaar.php">admin test</a>
Code (php)
<a href="vervangbaar.php">admin test</a>
<a href="vervangbaar.php">admin test</a>
Je weet het verschil tussen == en === neem ik aan?
gebruik dan laat hij helemaal niks meer zien.
kan het zijn dat hij het admin level nergens detecteerd?
Code (php)
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
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
<?php
# Controleren of $_SESSION['user_level'] wel bestaat.
if(isset($_SESSION['user_level'])){
# Controleren of de gebruiker voldoende rechten heeft om de admin menu link te zien.
if($_SESSION['user_level'] == 5){
# Ja, de gebruiker heeft voldoende rechten. Menu link weergeven.
echo '<a href="vervangbaar.php">admin test</a>';
}
else{
# Nee. de gebruiker heeft niet voldoende rechten. Tijdelijk een foutmelding geven om debug redenen.
echo 'Helaas! U heeft niet voldoende rechten.';
}
}
else{
# $_SESSION['user_level'] bestaat niet, foutmelding weergeven.
echo ' $_SESSION[\'user_level\'] bestaat niet.';
}
?>
# Controleren of $_SESSION['user_level'] wel bestaat.
if(isset($_SESSION['user_level'])){
# Controleren of de gebruiker voldoende rechten heeft om de admin menu link te zien.
if($_SESSION['user_level'] == 5){
# Ja, de gebruiker heeft voldoende rechten. Menu link weergeven.
echo '<a href="vervangbaar.php">admin test</a>';
}
else{
# Nee. de gebruiker heeft niet voldoende rechten. Tijdelijk een foutmelding geven om debug redenen.
echo 'Helaas! U heeft niet voldoende rechten.';
}
}
else{
# $_SESSION['user_level'] bestaat niet, foutmelding weergeven.
echo ' $_SESSION[\'user_level\'] bestaat niet.';
}
?>
Quote:
in de dbc.php staat ergens in het script de start session.
ik neem dan aan dat hij het uit de dbc.php leest
welke foutmelding krijg je als je mijn laatste variant gebruikt?