php - 使用户处于事件/非事件状态 PHP MySQL

标签 php mysql

我正在尝试为网站构建一个管理员登录部分,用户可以在其中登录和编辑用户/产品。我希望能够使用户和产品处于事件/非事件状态,而不是从数据库中删除它们。

我知道我可以使用tinyint(1) 来表示真值或假值(事件或非事件)。在我的数据库中,我有一个数据类型为tinyint(1)的“isactive”字段,并将默认值设置为1。(希望这意味着true或active)

在我的编辑用户表单的顶部有以下代码:

if (isset($_GET['id'])) {
$_SESSION['editId'] = $_GET['id'];
$status = $_GET['isactive']; 
} else {
$_SESSION['editId'] = 0;    
}

我编辑用户的功能是这样的:

function db_updateUser($user, $id, $connection) {

foreach ($user as $key => $value) {
    $$key = $value;                         
}   
$sql = "UPDATE  tbl_users SET name='$name', username='$username',password='$password', email='$email', level='$level', isactive='$isactive' WHERE id='$id'";
$result = mysqli_query($connection, $sql);  
$numRows = mysqli_affected_rows($connection);
if ($numRows >= 1) {
    return true;    //user updated
} else {
    return false;   //user not updated
}   
}

表单选择如下所示:

<label>Active : </label>
<select name="status">
<option value="Active" <?php if ($status=="Active" || !isset($status)) echo "selected='selected'"; ?>>Active</option>
<option value="Inactive" <?php if ($status=="Inactive") echo "selected='selected'"; ?>>Inactive</option>
</select>

我收到错误“未定义索引:处于事件状态”

如果有人能指出我正确的方向,我将非常感激。谢谢。

最佳答案

给定:

<select name="status">

你应该使用

$_POST['status'];

因为这是提交特定表单字段的名称。

同样,不要使用 foreach() 循环来重新创建 extract()。这是极其糟糕的编程实践,而且非常不安全。考虑这样的情况:有人修改了对您脚本的提交并提交了 _POST = foo。现在你的 $_POST 数组已经消失了。

关于php - 使用户处于事件/非事件状态 PHP MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19717138/

相关文章:

php - fatal error : Call to a member function check_capabilities() on a non-object

来自数据库的 PHP/Smarty 嵌套数组

php - MySQL - 如果为一组记录设置了另一个行值,则获取行

php - 自动完成下拉

php - 从 while 循环中从表中选择单个值到字段中

php - 使用 CakePHP 跨 2 个 div 拆分表单

mysql : declare cursor after while loop

sql - mysql 第一次查询慢,然后相关查询快

php - 如何更改 PCRE 正则表达式认为多行模式下的换行符?

jquery - "Unserialize"这个字符串 : %C3%A9%C3%A0%C3%A9%C3%A0