Telkens Je bent geen admin. als beheerder
Ik ben net 2 maanden eigenaar op Camwijsfan.nl
En loop tegen tegen dit probleem aan Je bent geen admin. als beheerder en als admin niet.
Kan iemand helpen?
Alvast bedankt
Met vriendelijke groet
Morris
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
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
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
<div class="bllok">
<div class="titel">Credits Beheren</div>
<?php
if(isset($_SESSION['admin']) || isset($_SESSION['nieuwsreporter']) || isset($_SESSION['promoter']) || isset($_SESSION['beheerder']) || isset($_SESSION['moderator'])) {
echo "Je bent geen admin.<br /><a href='#' onclick='history.go(-1)'>Ga terug</a>";
die();
}
if(isset($_POST['toevoegen'])) {
if($_POST['som'] == "af") {
$aantal = mysql_real_escape_string(substr($_POST['aantal'],0,10));
$member_id = mysql_real_escape_string($_POST['member_id']);
mysql_query("UPDATE leden SET muntjes= muntjes - ".$aantal." WHERE member_id='".$member_id."'");
if(mysql_error() == "") {
echo "<font color=\"green\"><b>Succesvol bijgewerkt!</b></font>";
}else{
echo "<font color=\"red\"><b>Niet bijgewerkt!</b></font>";
}
}elseif($_POST['som'] == "bij") {
$aantal = mysql_real_escape_string(substr($_POST['aantal'],0,10));
$member_id = mysql_real_escape_string($_POST['member_id']);
mysql_query("UPDATE leden SET muntjes = muntjes + ".$aantal." WHERE member_id='".$member_id."'");
if(mysql_error() == "") {
echo "<font color=\"green\"><b>Succesvol bijgewerkt!</b></font>";
}else{
echo "<font color=\"red\"><b>Niet bijgewerkt!</b></font>";
}
}
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>?p=admin_muntjes" method="post">
<table>
<tr>
<td>Naam:</td>
<td>
<?php
$sql = mysql_query("SELECT * FROM leden ORDER BY gebruikersnaam ASC");
echo'<select name="member_id">';
while($user = mysql_fetch_assoc($sql)){
echo'<option value="'.$user['member_id'].'">'.htmlspecialchars($user['gebruikersnaam']).'</option>';
}
echo'</select>';
?>
</td>
</tr>
<tr>
<td>Credits</td>
<td><select name="som"><option value="af">Eraf</option><option value="bij" selected="selected">Erbij</option></select></td>
</tr>
<tr>
</select>
</td>
</tr>
<tr>
<td>Aantal:</td>
<td><input type="text" name="aantal" value="200"></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="toevoegen" value="Verzend"></td>
</tr>
</table>
</form>
</div>
<div class="titel">Credits Beheren</div>
<?php
if(isset($_SESSION['admin']) || isset($_SESSION['nieuwsreporter']) || isset($_SESSION['promoter']) || isset($_SESSION['beheerder']) || isset($_SESSION['moderator'])) {
echo "Je bent geen admin.<br /><a href='#' onclick='history.go(-1)'>Ga terug</a>";
die();
}
if(isset($_POST['toevoegen'])) {
if($_POST['som'] == "af") {
$aantal = mysql_real_escape_string(substr($_POST['aantal'],0,10));
$member_id = mysql_real_escape_string($_POST['member_id']);
mysql_query("UPDATE leden SET muntjes= muntjes - ".$aantal." WHERE member_id='".$member_id."'");
if(mysql_error() == "") {
echo "<font color=\"green\"><b>Succesvol bijgewerkt!</b></font>";
}else{
echo "<font color=\"red\"><b>Niet bijgewerkt!</b></font>";
}
}elseif($_POST['som'] == "bij") {
$aantal = mysql_real_escape_string(substr($_POST['aantal'],0,10));
$member_id = mysql_real_escape_string($_POST['member_id']);
mysql_query("UPDATE leden SET muntjes = muntjes + ".$aantal." WHERE member_id='".$member_id."'");
if(mysql_error() == "") {
echo "<font color=\"green\"><b>Succesvol bijgewerkt!</b></font>";
}else{
echo "<font color=\"red\"><b>Niet bijgewerkt!</b></font>";
}
}
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>?p=admin_muntjes" method="post">
<table>
<tr>
<td>Naam:</td>
<td>
<?php
$sql = mysql_query("SELECT * FROM leden ORDER BY gebruikersnaam ASC");
echo'<select name="member_id">';
while($user = mysql_fetch_assoc($sql)){
echo'<option value="'.$user['member_id'].'">'.htmlspecialchars($user['gebruikersnaam']).'</option>';
}
echo'</select>';
?>
</td>
</tr>
<tr>
<td>Credits</td>
<td><select name="som"><option value="af">Eraf</option><option value="bij" selected="selected">Erbij</option></select></td>
</tr>
<tr>
</select>
</td>
</tr>
<tr>
<td>Aantal:</td>
<td><input type="text" name="aantal" value="200"></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="toevoegen" value="Verzend"></td>
</tr>
</table>
</form>
</div>
- Aar -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 13/10/2015 16:23:27 door - Ariën -
Verder zie ik een GROTE klassieke fout in dit rechtensysteem doordat je de statussen in de sessies opslaat. Deze kunnen dus niet zomaar direct ingetrokken worden, en vervallen dus pas als de browser af wordt gesloten.
Het beste is om de vanuit de database te controleren welk recht iemand heeft, en daar de controle op baseren. Het zou erg vervelend zijn dat je een iemand (bijv. een 'rotte appel') in je team hebt, die zijn werk nog kan doen nadat jij de rechten intrekt.
Verder wil ik graag zeggen dat de oude mysql_*()-functies zullen verdwijnen op termijn. Er wordt aangeraden om MySQLi of PDO te gebruiken.
Gewijzigd op 13/10/2015 16:28:34 door - Ariën -
ja dit systeem is niet door mij zelf gebouwd door vriend van me en die is er mee gestopt en toen moest ik het verder overnemen
if ($_SESSION['admin'] || ...).
Deze code is redelijk brak. De manier waarop wordt vastgesteld met wat voor type gebruiker je te maken hebt zou ik anders aanpakken.
Daarnaast:
- mysql_.... functies
- statische HTML echo'en
Meh :/.
EDIT: En zoals Aar aangeeft zul je eerst een sessie moeten starten/voortzetten met de functie session_start(). Dit doe je bij voorkeur aan het begin van de opbouw van een pagina, nog voordat er output is verstuurd (dus idealiter voor enige !DOCTYPE declaratie).
Gewijzigd op 13/10/2015 16:31:27 door Thomas van den Heuvel
RBAC-systeem. Je kijkt dan naar wie 'wat' mag doen, en niet naar wat 'wie' mag doen.
Ikzelf zou het roer omgooien, en kijken naar een Gewijzigd op 13/10/2015 16:32:57 door - Ariën -
Succes!