Having a few problems with my Admin Page that lists all registered users with some of their information.
I have a Delete button (which deletes the user permanently) and a Ban button (which bans user until I unban them). Both of these buttons have their own javascript that asks for a confirmation before going through with the request of banning or deleting a user. The confirm window show up correctly, with the option to click OK, or Cancel. When I click OK, it deletes or bans the user successfully, however if I hit cancel, it does not stop the script. It deletes or bans the user. That's the first problem.
The next:
At the end of the page I have a Submit button. So for example, I change any of the user's information on the current page, I can hit submit, and update all the user's information in the database. I am unsure how to set this up, because it needs to go through each row and update them one at a time as to not give all users the same updated value.
I also need to create a Dropdown Menu, or input field, which allows me to choose a number (50, 100, 300, 500, etc) of users to show per page. I have no idea how to go about doing this.
PHP Code:
<?php session_start(); include_once('../inc/connect.php');
if(!isset($_SESSION['sort_counter'])) {$_SESSION['sort_counter'] = 1;}
if(($_SESSION['sort_counter']%2) == 0){ //test even value $sortcount = "DESC"; }else{ //odd value $sortcount = ""; }
// $result = mysql_query("SELECT * FROM users ORDER BY id"); ORIGINAL $result = mysql_query("SELECT * FROM users LEFT JOIN userstats ON userstats.id = users.id ORDER BY users.id"); // $result = mysql_query("SELECT * FROM users JOIN users ON userstats.id = userstats.id ORDER BY id");
$today = date("Y-m-d");
$sort = $_GET['sort']; $delete = $_GET['delete']; $ban = $_GET['ban']; $submit = $_POST['submit'];
if ($sort=='id'){
// $result = mysql_query("SELECT * FROM users ORDER BY id"); $result = mysql_query("SELECT * FROM users LEFT JOIN userstats ON userstats.id = users.id ORDER BY users.id $sortcount"); $_SESSION['sort_counter'] = $_SESSION['sort_counter'] + 1; //increment after every run } if ($sort=='username'){
// $result = mysql_query("SELECT * FROM users ORDER BY username"); $result = mysql_query("SELECT * FROM users LEFT JOIN userstats ON userstats.id = users.id ORDER BY users.username $sortcount"); $_SESSION['sort_counter'] = $_SESSION['sort_counter'] + 1; //increment after every run } if ($sort=='email'){
// $result = mysql_query("SELECT * FROM users ORDER BY email"); $result = mysql_query("SELECT * FROM users LEFT JOIN userstats ON userstats.id = users.id ORDER BY users.email $sortcount"); $_SESSION['sort_counter'] = $_SESSION['sort_counter'] + 1; //increment after every run } if ($sort=='type'){
// $result = mysql_query("SELECT * FROM users ORDER BY member"); $result = mysql_query("SELECT * FROM users LEFT JOIN userstats ON userstats.id = users.id ORDER BY users.member $sortcount"); $_SESSION['sort_counter'] = $_SESSION['sort_counter'] + 1; //increment after every run } if ($sort=='referrer'){
// $result = mysql_query("SELECT * FROM users ORDER BY referrer"); $result = mysql_query("SELECT * FROM users LEFT JOIN userstats ON userstats.id = users.id ORDER BY users.referrer $sortcount"); $_SESSION['sort_counter'] = $_SESSION['sort_counter'] + 1; //increment after every run } if ($sort=='level'){
// $result = mysql_query("SELECT * FROM userstats ORDER BY level"); $result = mysql_query("SELECT * FROM userstats LEFT JOIN users ON users.id = userstats.id ORDER BY userstats.level $sortcount"); $_SESSION['sort_counter'] = $_SESSION['sort_counter'] + 1; //increment after every run } if ($sort=='exp'){
// $result = mysql_query("SELECT * FROM userstats ORDER BY exp"); $result = mysql_query("SELECT * FROM userstats LEFT JOIN users ON users.id = userstats.id ORDER BY userstats.exp $sortcount"); $_SESSION['sort_counter'] = $_SESSION['sort_counter'] + 1; //increment after every run } if ($sort=='credits'){
// $result = mysql_query("SELECT * FROM userstats ORDER BY credits"); $result = mysql_query("SELECT * FROM userstats LEFT JOIN users ON users.id = userstats.id ORDER BY userstats.credits $sortcount"); $_SESSION['sort_counter'] = $_SESSION['sort_counter'] + 1; //increment after every run }
if ($delete && isset($_GET['id'])) { mysql_query('DELETE FROM users WHERE id = ' . (int)$_GET['id']); mysql_query('DELETE FROM userstats WHERE id = ' . (int)$_GET['id']); echo "<SCRIPT language='JavaScript'><!-- window.location='users.php';//--> </SCRIPT>"; }
if ($ban=="true" && isset($_GET['id'])) { mysql_query('UPDATE `users` SET `active`="no" WHERE id = ' . (int)$_GET['id']); echo "<SCRIPT language='JavaScript'><!-- window.location='users.php';//--> </SCRIPT>"; } if ($ban=="false" && isset($_GET['id'])) { mysql_query('UPDATE `users` SET `active`="yes" WHERE id = ' . (int)$_GET['id']); echo "<SCRIPT language='JavaScript'><!-- window.location='users.php';//--> </SCRIPT>"; }
// head echo " <html> <head> <title>Users</title> <style> a:link{ text-decoration: none; color: #519904; } a:visited{ text-decoration: none; color: #519904; } a:hover{ text-decoration: none; color: #4296ce; } #joined{ position: relative; width: 97px; margin-left: auto; margin-right: auto; top: -550px; } </style> </head> <body> ";
echo "<h2 align='center'>Users</h2><br /><table border='1' align='center'> <tr> <th bgcolor='#cccccc'><a href='users.php?sort=id'>ID</a></th> <th bgcolor='#cccccc'><a href='users.php?sort=username'>Username</a></th> <th bgcolor='#cccccc'><a href='users.php?sort=email'>Email</a></th> <th bgcolor='#cccccc'><a href='users.php?sort=type'>Type</a></th> <th bgcolor='#cccccc'><a href='users.php?sort=referrer'>Referrer</a></th>
<!-- Level, Exp, and Credits are in the table called userstats -->
<th bgcolor='#cccccc'><a href='users.php?sort=level'>Level</a></th> <th bgcolor='#cccccc'><a href='users.php?sort=exp'>Exp</a></th> <th bgcolor='#cccccc'><a href='users.php?sort=credits'>Credits</a></th> <th bgcolor='#cccccc'><a href='users.php'>Delete</a></th> <th bgcolor='#cccccc'><a href='users.php'>Ban</a></th> </tr><form>"; echo "<script type='text/javascript'> function show_ban() { var r=confirm('Ban?'); if (r==true) { // Ban } else { // Don't ban } } </script>";
echo "<script type='text/javascript'> function show_unban() { var r=confirm('Unban?'); if (r==true) { // Unban } else { // Don't Unban } } </script>";
echo "<script type='text/javascript'> function show_delete() { var r=confirm('Delete?'); if (r==true) { // Delete } else { // Don't delete } } </script>";
$recentmembers = 0; while($row = mysql_fetch_array($result)) { $joined = $row['joindate']; if ($joined==$today){ $recentmembers += 1; } $active = $row['active']; $color = "#ffffff"; $banned = "Ban"; if ($active=='no'){ $color = "#f43636"; $banned = "Unban"; $active = "false"; $alert = "show_unban"; } else{ $active = "true"; $alert = "show_ban"; } if ($row['member'] == 1){ $typecolor = "#72A4D2"; } if ($row['member'] == 0){ $typecolor = "#eeeeee"; } if ($row['member'] == 9){ $typecolor = "#00cc00"; } echo "<tr>"; echo "<td align='center' width='40' bgcolor='$color'>" .$row['id']. "</td>"; echo "<td align='center' width='130'><input type='text' name='username' value='" .$row['username']. "'></td>"; echo "<td align='center' width='230'><input type='text' name='email' value='" .$row['email']. "' size='35'></td>"; echo "<td align='center' width='10'><input type='text' name='member' value='" .$row['member']. "' size='2' style='background-color: $typecolor'></td>"; echo "<td align='center' width='130'><input type='text' name='referrer' value='" .$row['referrer']. "'></td>"; echo "<td align='center' width='10'><input type='text' name='level' value='" .$row['level']. "' size='2'></td>"; echo "<td align='center' width='10'><input type='text' name='exp' value='" .$row['exp']. "' size='10'></td>"; echo "<td align='center' width='10'><input type='text' name='credits' value='" .$row['credits']. "' size='20'></td>"; echo "<td align='center' width='10'><a href='users.php?delete=true&id=" .$row['id']. "' onclick='show_delete()'>Delete</a></td>";
echo "<td align='center' width='10'><a href='users.php?ban=$active&id=" .$row['id']. "' onclick='$alert()'>$banned</a></td>"; echo "</tr>"; } echo "</table><br /><center><input type='submit' name='submit' value='Submit Changes'><input type='reset' name='reset' value='Reset'></form></center>"; echo "<br /><div id='joined'>Joined Today: ".$recentmembers."</div>";
// Footer echo " </body> </html> ";
// Change User's Information
if (isset($submit)){
// UPDATE USERS INFORMATION FOR ONLY THE ROWS THAT HAVE BEEN MODIFIED
}
?>
Any input appreciated.
Thanks for those who keep the help coming!
|