Page 1 of 1

Admin Edit User's Information

Posted: Sun Jul 18, 2010 4:28 pm
by Smudly
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.

Code: Select all

<?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!