PHP/HTML:使用单选按钮通过管理页面激活用户
我正在根据管理员输入创建激活/停用。 其想法是允许管理员查看accounts表中的所有帐户,并使用无线电输入从选项(激活或停用)中选择一个。 如果你们能在这一页上帮助我,我真的很感激,我的项目快完成了。 谢谢大家的建议,我只是想让管理员有选择激活或停用从用户帐户,使用此代码。 代码基本上可以查看帐户的所有信息,管理员只需选中她想激活的任何人,并从收音机中选择(激活/停用),然后根据她的输入将数据库中的值设置为0,即停用,1为激活。 多谢各位PHP/HTML:使用单选按钮通过管理页面激活用户,php,html,mysql,Php,Html,Mysql,我正在根据管理员输入创建激活/停用。 其想法是允许管理员查看accounts表中的所有帐户,并使用无线电输入从选项(激活或停用)中选择一个。 如果你们能在这一页上帮助我,我真的很感激,我的项目快完成了。 谢谢大家的建议,我只是想让管理员有选择激活或停用从用户帐户,使用此代码。 代码基本上可以查看帐户的所有信息,管理员只需选中她想激活的任何人,并从收音机中选择(激活/停用),然后根据她的输入将数据库中的值设置为0,即停用,1为激活。 多谢各位 <?php session_start(); i
<?php
session_start();
if( isset($_SESSION['username']) ){
//Connect to DB
//include_once("Project/CIEconn.php");
$mysqlCON= mysqli_connect("localhost", "root", "","CIE") or die(mysqli_connect_error());
mysqli_select_db($mysqlCON,'CIE') or die ("no database");
if( isset($_POST['ActivateUsers']) ){
if( empty($_POST['Id']) || $_POST['Id'] == 0 ){
echo"<h4> please choose someone to activate </h4>";
}else{
$impid = implode("' , '" , $_POST['Id']);
$sqlDelete = "UPDATE Accounts SET Activated='$_POST[activate]' WHERE Id IN ('" . $impid . "')";
$DeleteQuery = mysqli_query($mysqlCON,$sqlDelete) or die ("Error : ".mysqli_error($mysqlCON));
}
}
$sqlCommand = "SELECT * FROM Accounts ";
$result = mysqli_query($mysqlCON,$sqlCommand) or die(mysql_error());
echo "<h1> Activate / Deactive User Account </h1>";
echo "<table border='1' width = 80% align=center >
<tr>
<th>Check </th>
<th>SSU ID</th>
<th>Email</th>
<th>First Name</th>
<th>Last Name</th>
<th>User Type </th>
<th>Activated</th>
<th>Activate/Deactive</th>
</tr>";
while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<form action='ActivateD.php' method='post'>";
echo "<td> <input type='checkbox' name='Id[]' value='". $row['SSU'] ."' /> </td> " ;
echo "<td align=center > " . $row['SSU'] . "</td>";
echo "<td align=center>" . $row['Email'] . "</td>";
echo "<td align=center>" . $row['First_Name'] . "</td>";
echo "<td align=center>" . $row['Last_Name'] . "</td>";
echo "<td align=center>" . $row['userType'] . "</td>";
echo "<td align=center>" . $row['Activated'] . "</td>";
echo "<td align=center>" .
"
<input type='radio' name='activate' value='1' > Activate
<input type='radio' name='activate' value='0'> Deactive
</form>"
. "</td>";
echo "</tr> ";
}
echo "</table>";
echo " <br>
<form action='ActivateD.php' method='post'>
<div align='center'>
<input type='submit' name='ActivateUsers' value='Activate/Deactive'>
</div>
</form>";
mysqli_close($mysqlCON);
}
else{echo "must logout to see this page..!!";}
?>
<html>
<head><title> Activate / Deactive User Account </title>
<style type="text/css">
body{
background-color: #23438e;
}
table{
background: white;
}
h1{
color: #FF942B;
text-align: center;
padding-top : 50px;
text-decoration: none;
}
</style>
</head>
<body>
</body>
</html>
您的脚本似乎有几个问题:
您在每个单选输入和复选框周围包装一个表单,但在提交按钮周围包装一个单独的表单。在此设置中,表单在提交时不会发送正确的数据
复制每一行上具有相同名称的广播框。因为您只使用单个值来表示active/inactive,所以应该在表单底部放置一组单选按钮
您的SQL查询转义不正确:
而不是
$sqlDelete=“更新帐户集激活=”$\u POST[activate]”,其中Id位于(““$impid.”)中代码>
您应该使用$sql=“更新帐户集激活=”$_POST['activate']。“'whereid in('”$impid.“)”代码>
缺少错误处理和输入清理
请编辑您的问题以包含更多信息,好吗?诸如代码正在做什么或没有做什么(以及您尝试过什么)之类的事情可以让某人提供更好的帮助。谢谢您,我刚刚在我的帖子中添加了一些信息。我感谢您的帮助,这是我第一个使用php的项目,我正在学习,我将尝试按照您所说的更改代码。请参阅您的建议中关于#2的更多说明。您有同名“激活”和不同值的无线电输入。因此,无论用户选择哪个单选项,$_POST['activate']的值将为1或0——或者更确切地说,如果该单选项位于正在提交的表单中(使用submit按钮),则该值将为1或0。如果用户没有选择任何键不会被定义的选项,那么在运行更新查询之前,您还应该检查它是否存在。因为您只允许两个选项(1/0),所以只允许启用/禁用收音机一次(窗体的顶部或底部),而不是每行。