Hallo medetweakers,
ik zit weer met een probleem en ik hoop dat jullie me kunnen helpen want ik ben hier nu al een uur naar de bug aant zoeken, nochtans vind ik hem niet!
Het probleem is simpel:
Stel dat ik een gewone user ben met rank 0, ik heet user a, user b heeft het gepost, maar ik wil zijn bericht editten! Dit mag niet!
Nu als ik zijn bericht wil editten en daarna op de submit button druk die vervolgens door de request method POST wordt verzonden, dan edit hij het toch.
User a is ook geen moderator van dat bepaalde forum..
ik heb al vanalles geprobeerd, aparte filetjes gemaakt en daar zei hij dat hij do_error(2) moest doen, wat perfect klopt!
Nochtans doet hij het niet in mijn posting.php
Wat kan er hier fout gaan?
De 2 functies die ik gebruik:
En nu de PHP die kijkt of na het wijzigen de post mag geupdate worden (geedit)
Mvg groeten,
Kris.
(Ik zou het erg appreciëren moest er iemand mij kunnen helpen!
)
ik zit weer met een probleem en ik hoop dat jullie me kunnen helpen want ik ben hier nu al een uur naar de bug aant zoeken, nochtans vind ik hem niet!
Het probleem is simpel:
Stel dat ik een gewone user ben met rank 0, ik heet user a, user b heeft het gepost, maar ik wil zijn bericht editten! Dit mag niet!
Nu als ik zijn bericht wil editten en daarna op de submit button druk die vervolgens door de request method POST wordt verzonden, dan edit hij het toch.
User a is ook geen moderator van dat bepaalde forum..
ik heb al vanalles geprobeerd, aparte filetjes gemaakt en daar zei hij dat hij do_error(2) moest doen, wat perfect klopt!
Nochtans doet hij het niet in mijn posting.php
Wat kan er hier fout gaan?
De 2 functies die ik gebruik:
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
| <?php // // Mod Functions // function moderate_forum () { global $rank; $sql = "SELECT rank, id FROM users WHERE username = '".$_COOKIE['username']."'"; $query = mysql_query($sql); while($userdata = mysql_fetch_array($query)) { $rank = $userdata['rank']; $sql = "SELECT mod_id, forum_id FROM mod WHERE forum_id = '".$_GET['forum_id']."'"; $query = mysql_query($sql) or die(mysql_error()); while($moddata = mysql_fetch_array($query)) { if($userdata['id'] == $moddata['mod_id'] && $rank == 2) { define('AUTHORISED', true); } else { define('AUTHORISED', false); } } } } // // Let's get the editpost id! // function get_editpost_username () { global $editpost_username; $sql = "SELECT username FROM reply WHERE id = '".$_GET['id']."' AND forum_id = '".$_GET['forum_id']."'"; $query = mysql_query($sql); $fetch = mysql_fetch_array($query); $editpost_username = $fetch[0]; return $editpost_username; } ?> |
En nu de PHP die kijkt of na het wijzigen de post mag geupdate worden (geedit)
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
| <?php } elseif($_POST['mode'] == "editpost" && isset($_POST['forum_id'])) { moderate_forum(); get_editpost_username(); if ( AUTHORISED == true || $rank == 3 || $rank == 4 || get_editpost_username() == $_COOKIE['username'] ) { $text = addslashes(htmlspecialchars($_POST['text'])); update_edited_topic(); header("Location: viewforum.php"); } else { do_error(2); exit; } ?> |
Mvg groeten,
Kris.
(Ik zou het erg appreciëren moest er iemand mij kunnen helpen!
[ Voor 8% gewijzigd door Verwijderd op 03-06-2003 20:58 ]