我一直想弄清楚为什么我的数据库不会更新!我知道我做错了什么,但我不知道出了什么问题!这是我的代码!请帮忙。
$user_id = (int)$user['id'];
$editName = $user['full_name'];
$editEmail = $user['email'];
$editPermissions = $user['permissions'];
if(isset($_POST['editUser'])){
$editName = $_POST['editname'];
$editEmail = $_POST['editemail'];
$editPermissions = $_POST['editpermissions'];
$db->query("UPDATE users SET full_name = '$editName',email = '$editEmail', permissions = '$editPermissions' WHERE id = '$user_id'");
}
?>
<form action="users.php" method="post">
<td><input type="text" name="editname" id="editname" class="form-control col-sm-2" value="<?=$editName;?>"></td>
<td><input type="text" name="editemail" id="editemail" class="form-control col-sm-2" value="<?=$editEmail;?>"></td>
<td><?=pretty_date($user['join_date']);?></td>
<td><?=(($user['last_login'] == '0000-00-00 00:00:00')?'never':pretty_date($user['last_login']));?></td>
<td><input type="text" name="editpermissions" id="editpermissions" class="form-control col-sm-2"
value="<?=$editPermissions;?>"></td>
<div class="form-group col-md-6 text-right button">
<a href="users.php" class="btn btn-default">Cancel</a>
<input type="submit" name="editUser" value="Edit User" class="btn btn-success">
</div>
</form>
答案 0 :(得分:0)
您似乎错过了表单中用户的ID。
添加
<input type="hidden" name="id" value="<?= $user_id ?>" />
将此添加到您的第二个if(){}
$user_id = $_POST['id'];
作为旁注,如果<td>
中的<form>
不在<tr>
且不存在的<tr>
中,则不应该使用<table>
不在<input>
。看看here
接下来,您<label>
还没有for
(使用id
和<input type="submit" name="editUser" value="Edit User" class="btn btn-success">
属性匹配在一起)。 Look at this
上次,您可以使用<button>
元素替换ActiveModelSerializers.logger
。当您使用Bootstrap时,您可以找到合适的submit button here
最后,编写代码的方式非常难以理解。 Please read this,将其提交到内存并使用它;)