function activate($con, $email){
$email = mysqli_real_escape_string($con, $email);
return mysqli_query($con, "UPDATE `users` SET `active` = 1 WHERE `email` = '".$email."'");
}
if($role == 'Administrator'){
$query = mysqli_query($con, "SELECT * FROM `users` WHERE `active` = 0");
if(mysqli_num_rows($query) > 0){
while($row = mysqli_fetch_assoc($query)){
$email = $row['email'];
$name = $row['name'];
$surname = $row['surname'];
echo $name . ' ' . $surname . ' - ' . $email . '<form method="post"><input type="submit" name="activate" value="Activeaza"></form></br>';
if(isset($_POST['activate']))
activate($con, $email);
}
}
}
这是我的代码。我想为管理员制作验证页面,以便他可以验证用户。激活用户时使用此代码可激活所有用户。我不知道如何逐个退出变量。谢谢,我是php的初学者:D
答案 0 :(得分:0)
不是为每个用户创建一个表单,而是创建一个表单,并使用while循环将所有用户输入到表单中,并为每个用户提供一个不同的标识符,例如用户ID。
您可以使用HTML select或为每个用户添加一个带复选框的行
然后将代码放在表单之外。
if(isset($_POST['activate']))
activate($con, $email);
如果使用复选框方法,则可以使用修改后的激活功能一次激活多个用户
答案 1 :(得分:0)
你不需要退出那个,但你在循环中做了太多的事情
由于您没有在表单上指定操作,因此表单必须在提交时提交给页面本身。你可以分开它。
因此您可以在表单中添加:
echo $name . ' ' . $surname . ' - ' . $email . '<form method="post">
<input type="submit" name="activate" value="Activeaza">
<input type="hidden" name="email" value=\"'. $email . \"'>
</form></br>';
并在代码顶部添加:
if ( $SERVER['REQUEST_METHOD'] == 'POST' )
{
$email = $_POST['email'];
activate($con,$email);
}
希望这会有所帮助
要了解有关隐藏输入类型的更多信息,请参阅此链接: