- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是学习 PHP 网络开发的新手,我有一个问题正在尝试解决。我的数据库中有一个 ENUM 类型,有 2 个值:“Y”或“N”。它在我的用户表 (tbl_users) 中称为 userStatus。我正在尝试使用 PHP 在单击按钮时更改该特定用户的 ENUM 值。但是,当我单击按钮时没有任何反应,我不确定是按钮还是我的 PHP 还是两者的组合错误导致了此功能不起作用?
PHP 更改 ENUM:
if(isset($_POST['btn-activate'])){
if(isset($_GET['id']))
{
$id = $_GET['id'];
extract($user_home->getID($userId));
$statusY = "Y";
$statusN = "N";
$stmt = $user->runQuery("SELECT userID,userStatus FROM tbl_users WHERE userID=:uID");
$stmt->execute(array(":userID"=>$userId));
$row=$stmt->fetch(PDO::FETCH_ASSOC);
if($stmt->rowCount() > 0)
{
if($row['userStatus']==$statusN)
{
$stmt = $user->runQuery("UPDATE tbl_users SET userStatus=:status WHERE userId=:userID");
$stmt->bindparam(":status",$statusY);
$stmt->bindparam(":userID",$userId);
$stmt->execute();
$msg = "
<div class='alert alert-success'>
<button class='close' data-dismiss='alert'>×</button>
<strong>WoW !</strong> Your Account is Now Activated : <a href='manage_users.php'></a>
</div>
";
}
else
{
$msg = "
<div class='alert alert-error'>
<button class='close' data-dismiss='alert'>×</button>
<strong>sorry !</strong> Your Account is allready Activated : <a href='manage_users.php'></a>
</div>
";
}
}
else
{
$msg = "
<div class='alert alert-error'>
<button class='close' data-dismiss='alert'>×</button>
<strong>sorry !</strong> No Account Found : <a href='manage_users.php'></a>
</div>
";
}
}
}
获取用户id函数:
public function getID($userId)
{
$stmt = $this->db->prepare("SELECT * FROM tbl_users WHERE userId=:id");
$stmt->execute(array(":id"=>$userId));
$editRow=$stmt->fetch(PDO::FETCH_ASSOC);
return $editRow;
}
显示用户的表:
$database = new Database();
$db = $database->dbConnection();
$conn = $db;
$query = "SELECT * FROM tbl_users";
$stmt = $conn->prepare($query);
$stmt->execute();
while($row=$stmt->fetch(PDO::FETCH_ASSOC)){
?>
<tr>
<td><?php echo $row['userID']?></td>
<td><?php echo $row['userName']?></td>
<td><?php echo $row['userFirstName']." ".$row['userSurname']; ?></td>
<td><?php echo $row['userEmail']?></td>
<td><?php echo $row['userRole']?></td>
<td><?php echo $row['userStatus']?></td>
<td>
表格末尾的“我”按钮,单击该按钮后,将在以下位置运行 PHP:
<?php if($row['userStatus'] == ('N')){
echo ' <button type="submit" class="btn btn-info"><i class="glyphicon glyphicon-ok" name="btn-activate" ></i> Activate</button>';
}else{
echo ' <button class="btn btn-default"><i class="glyphicon glyphicon-eye-close"></i> Archive</button>';
} ?>
<button data-toggle="modal" data-target="#view-modal" data-id="<?php echo $row['userID']; ?>" id="getUser" class="btn btn-warning"><i class="glyphicon glyphicon-pencil"></i> Edit</button>
</td>
</tr>
提前致谢。
最佳答案
如果前两个 if
条件中的任何一个不计算为 TRUE,则不会出现任何代码(什么也不会发生)。
考虑添加一些调试输出。至少为每个 if 和 echo
一些调试输出添加一个 else
。
非常奇怪的是,代码同时检查 $_POST
和 $_GET
。我怀疑 id
是在表单提交中传递的,就像 btn-activate
一样,而不是作为 uri 中的参数。 (即您的意思是 $_POST['id']
?只是在这里猜测。
我们在这一行中看到对 $userid
的引用:
extract($user_home->getID($userId));
但我们看不到分配给 $userId
的值。前面的行尝试设置一个名为 $id
的变量。但我们没有看到 $id
在其他地方使用。
就我个人而言,如果没有特别需要,我会避免使用 extract
函数。 (我不希望我的代码容易出现故障,在此示例中,当有人向 tbl_users 添加列时。)
http://ericlippert.com/2014/03/05/how-to-debug-small-programs/
关于php - 使用 OOP PHP 更改枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42775747/
我是一名优秀的程序员,十分优秀!