Problem beim Rechte entnehmen über das UCP

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Problem beim Rechte entnehmen über das UCP

    Guten Tag,
    ich habe mir vor kurzem ein neues UCP gekauft.
    Als erstes wird dort alle Admins aufgelistet und daneben kann man sie uninviten als Admin.
    Dies will aber noch nicht so richtig funktionieren
    //list_all_admins.php

    PHP-Quellcode

    1. <html>
    2. <head>
    3. <title>User Control Panel - &Uuml;bersicht der Teammitglieder</title>
    4. <link rel="stylesheet" href="stylesheet.css" type="text/css" />
    5. <?php include("short_logout.php"); ?> <br /> <br /> <br />
    6. </head>
    7. <body>
    8. <div id="standart_format">
    9. <?php include("head.php"); ?> <br />
    10. <?php include("navigation.php"); ?> <br />
    11. <h2>Administration -> &Uuml;bersicht der Teammitglieder </h2> <br />
    12. <div id="standart_container">
    13. <?php
    14. $result = mysql_query("SELECT * FROM accounts ORDER BY Adminlevel DESC");
    15. echo "<table align='center'>";
    16. echo "<tr>";
    17. echo "<td>&nbsp;&nbsp;&nbsp;<b>Spielername</b>&nbsp;&nbsp;&nbsp;</td>";
    18. echo "<td>&nbsp;&nbsp;&nbsp;<b>Teamrang</b>&nbsp;&nbsp;&nbsp;</td>";
    19. echo "<td>&nbsp;&nbsp;&nbsp;<b>Supportpunkte</b>&nbsp;&nbsp;&nbsp;</td>";
    20. echo "</tr>";
    21. while ($row = mysql_fetch_object($result))
    22. {
    23. if($row->Adminlevel != 0)
    24. {
    25. echo "<tr>";
    26. echo "<td>&nbsp;&nbsp;&nbsp;",$row->Name,"&nbsp;&nbsp;&nbsp;</td>";
    27. echo "<td>&nbsp;&nbsp;&nbsp;";if($row->Adminlevel==1){echo "Probe Supporter";}else if($row->Adminlevel==2){echo "Supporter";}else if($row->Adminlevel==3){echo "Moderator";}else if($row->Adminlevel==4){echo "Administrator";}else if($row->Adminlevel==5){echo "Super Administrator";}else if($row->Adminlevel==7){echo "Server Manager";}else if($row->Adminlevel==8){echo "Projektleiter";}echo "&nbsp;&nbsp;&nbsp;</td>";
    28. echo "<td>&nbsp;&nbsp;&nbsp;",$row->Supportpunkte,"&nbsp;&nbsp;&nbsp;</td>";
    29. echo "<td>&nbsp;&nbsp;&nbsp;<a href="action_uninvite_admin.php?action=uninviteUser&userName=".$row->Name.""><img src='images/uninvite-icon.png' title='Teammitglied entlassen'/>&nbsp;&nbsp;&nbsp;</a></td>";
    30. echo "</tr>";
    31. }
    32. }
    33. mysql_free_result($result);
    34. echo "</table>";
    35. ?>
    36. </div>
    37. <br /> <br />
    38. <?php include("footer.php"); ?>
    39. </div>
    40. </body>
    41. </html>
    Alles anzeigen

    //uninvite_admin.php

    PHP-Quellcode

    1. if(isset($_SESSION['username']))
    2. {
    3. $username = $_SESSION['username'];
    4. $query = mysql_query("SELECT * FROM accounts WHERE Name = '$username'");
    5. $value = mysql_fetch_array($query);
    6. if(!$value['Adminlevel']>=1)
    7. {
    8. header('location: error.php?errorid=1');
    9. }
    10. else
    11. {
    12. $result = mysql_query("UPDATE `accounts` SET `Adminlevel`= '0' WHERE Name =".mysql_real_escape_string($_GET["userName"]).";");
    13. }
    14. }
    15. else header('location: login.php');
    16. ?>
    17. <!-- Start - HTML - Script -->
    18. <html>
    19. <head>
    20. <title>User Control Panel - Teammitglied entlassen</title>
    21. <link rel="stylesheet" href="stylesheet.css" type="text/css" />
    22. <?php include("short_logout.php"); ?> <br /> <br /> <br />
    23. </head>
    24. <body>
    25. <div id="standart_format">
    26. <?php include("head.php"); ?> <br />
    27. <?php include("navigation.php"); ?> <br />
    28. <h2>Administration -> &Uuml;bersicht der Teammitglieder -> Teammitglied entlassen </h2> <br />
    29. <div class="alert alert-success">
    30. Dem ausgew&auml;hlten Spieler wurden erfolgreich die administrativen Rechte entzogen.
    31. </div>
    32. <br /> <br />
    33. <?php include("footer.php"); ?>
    34. </div>
    35. </body>
    36. </html>
    Alles anzeigen
  • PHP-Quellcode

    1. $result = mysql_query("UPDATE `accounts` SET `Adminlevel`= 0 WHERE Name =".mysql_real_escape_string($_GET["userName"]));


    $_GET["userName"] Ist da überhaupt ein Inhalt drinnen?

    Mal als Beispiel:

    PHP-Quellcode

    1. <?php
    2. if(isset($_GET['action']) && $_GET['action'] == 'madmin'){
    3. if(isset($_GET['user']) && !empty($_GET['user'])){
    4. mysql_query("UPDATE accounts SET Adminlevel=0 WHERE Name='".$_GET['user']."'")
    5. OR DIE("MySQL Datenbankerror: ".mysql_error());
    6. echo 'Du hast dem Benutzer <i>'.$_GET['user'].'</i> die Administrationsrechte entzogen.';
    7. }else{
    8. echo 'Kein Nutzer ausgew&auml;hlt.';
    9. }
    10. }
    11. $query = mysql_query("SELECT Name, Adminlevel FROM accounts WHERE Adminlevel=1 ORDER BY Name ASC")
    12. OR DIE("MySQL Datenbankerror: ".mysql_error());
    13. $rank = array('Kein Admin', 'Probe Supporter', 'Rank 2', 'Rank 3', 'Rank 4', 'Rank 5', 'Rank 6', 'Rank 7', 'Rank 8');
    14. echo '
    15. <table>
    16. <tr>
    17. <th>Nutzername</th>
    18. <th>Administrationsrank</th>
    19. <th>Aktionen</th>
    20. </tr>
    21. ';
    22. while($row = mysql_fetch_object($query){
    23. echo '
    24. <tr>
    25. <td>'.$row->Name.'</td>
    26. <td>'.$rank [$row->Adminlevel].'</td>
    27. <td><a href="index.php?action=madmin&user='.$row->Name.'">Administratorrechte entfernen</a></td>
    28. </tr>
    29. ';
    30. }
    31. echo '</table>';
    32. ?>
    Alles anzeigen


    Mal so als Beispiel, ist nun in 2 Minuten eben hier hingehauen und hoffe nirgens vertippt...
    aber so würde das z.B. alles in einer Datei gehen (In dem Fall index.php).

    Würde man noch nen kleines Login vor setzen und schon hat man die Sache.

    Sry, dass ich anstatt den Fehler zu suchen nen Beispiel hier hinschreibe, aber habe gerade nicht sonderlich viel zeit ^^.

    Gruß,
    Dennis
  • Vielen Dank Dennis ich habe denn fehler grade gefunden.
    Es war das
    $result = mysql_query("UPDATE `accounts` SET `Adminlevel`= 0 WHERE Name =".mysql_real_escape_string($_GET["userName"])."'");
    dann habe ich folgendes geändert:
    $result = mysql_query("UPDATE `accounts` SET `Adminlevel`= '0' WHERE Name ='".$_GET["userName"]."'");

    Jetzt funktioniert es aber mach das jetzt bisschen Professioneller nach dem Tipp von Dennis ;)