0

hello guys, i'm stuck with some code and i'm getting frustrated that i cannot get it work. Please help :))

I have a database with some details about registered users with a column named Activated (which is 0 or 1). I want to make a page were restricted users can modify this status (Activated) using checkboxes.

<?php
$con = mysql_connect("localhost","root","password");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("silvermountain", $con);

$result = mysql_query("SELECT * FROM brokeri");

echo "<form method='post' action='activate_account.php'>";
echo "<table border='0' width='100%' class='tabel_administrator' cellspacing='0'>
<tr>
<th>Nume</th>
<th>Prenume</th>
<th>Companie</th>
<th>Adresa companie</th>
<th>Nr Tel</th>
<th>Ap vandute</th>
<th>Ap reservate</th>
<th>Activat</th>

</tr>";
$a=0;
while($row = mysql_fetch_array($result))
  {
  echo "<tr>";
  echo "<td>" . $row['nume'] . "</td>";
  echo "<td>" . $row['prenume'] . "</td>";
  echo "<td>" . $row['companie'] . "</td>";
  echo "<td>" . $row['adresa_companie'] . "</td>";
  echo "<td>" . $row['nr_tel'] . "</td>";
  echo "<td>" . $row['apartamente_vandute'] . "</td>";
  echo "<td>" . $row['apartamente_rezervate'] . "</td>";
  if($row['activat'] == 1) echo "<td>Activated</td>";
  else {
	  echo "<td><input type='checkbox' name='to_activate[]' value=". $id[$a] ."></td>";
  		$a++;
	}
  echo "</tr>";
    }
echo "</table>&nbsp;&nbsp;&nbsp;<input type='submit' name='submit' id='submit' value='Update'/></form></br>";


mysql_close($con);
?>

but now i don't know what to write in "activate_account.php" so that i modify only the users that were checked.

3
Contributors
8
Replies
13
Views
7 Years
Discussion Span
Last Post by metalix
0

Sorry you might need to be a bit more specific.
What is the goal you are trying to accomplich?
Are you going to send an email to them where they click a link and it activates thier account?
Or have a page administrators can view to change the 0 to 1 in an update account form?

0

... have a page administrators can view to change the 0 to 1 in an update account form?

that is what i am trying to do

0
<?php require_once(connection.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
  $updateSQL = sprintf("UPDATE member SET password=%s WHERE name=%s",
                       GetSQLValueString($_POST['password'], "text"),
                       GetSQLValueString($_POST['name'], "text"));

  mysql_select_db($database_member, $member);
  $Result1 = mysql_query($updateSQL, $member) or die(mysql_error());

  $updateGoTo = "test.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
    $updateGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $updateGoTo));
}

mysql_select_db($database_member, $member);
$query_Recordset1 = "SELECT * FROM member";
$Recordset1 = mysql_query($query_Recordset1, $member) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>
<html>
<head>
<title>test</title>
</head>

<body>
<form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1">
  <table align="center">
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">Password:</td>
      <td><select name="password" id="password">
          <option>&lt;?php echo htmlentities($row_Recordset1['password'], ENT_COMPAT, 'utf-8'); ?&gt;</option>
          <option>1</option>
      </select></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">&nbsp;</td>
      <td><input type="submit" value="Update record" /></td>
    </tr>
  </table>
  <input type="hidden" name="MM_update" value="form1" />
  <input type="hidden" name="name" value="<?php echo $row_Recordset1['name']; ?>" />
</form>
<p>&nbsp;</p>
</body>
</html>
<?php
mysql_free_result($Recordset1);
?>

this is an example i just did in dreamweaver
obviously your changing an id rather than password so change as neccesary

0

metalix: Who is $database_member and $member ? They are not assigned any value.

0

damn, this is working for only one item. But i generate a table with all users from database, and it only modifies the first one. Why is this happening ?

0

$database_member and $member was my table sorry forgot to change them to $table for you. these are in my include file which you would probably have embeded.
glad to see you solved it.
please mark solved threads as solved thank you.

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.