猿问

删除用户函数 SQL 查询不会发送任何内容 (PHP)

所以基本上,我在 PHP 中有一个函数,它在提交表单时从同一行中删除用户,表单确实提交,该函数确实完成了它的事情,但用户没有被删除。


 $html = '';

    $html .= '<table><form method="post" action="index.php?controller=user&action=delUser">';

    foreach( $auser as $user) {

        $html .= '<tr><td><input type="hidden" value="'.$user['id'].'"><input type="submit" name="delUserSubmit" value=""> '.$user["id"].' '.$user["voornaam"].' '.$user["tv"].' '.$user["achternaam"].'</td></tr>';

    }

    $html .= '</form></table>';


    return $html;

}

所以在这种形式中,它通过一个带有用户 ID 的隐藏输入字段发送 ID


public function delUser()

{

    if(isset($_POST['delUserSubmit'])) {

        $sql = "DELETE FROM user WHERE id = ".$_POST['id'];

        $this->oDb->insUpdDelQuery($sql);

        unset($_POST);

        header("Location: index.php?controller=user&action=show");

    }

}

当它到达上述函数时,它会通过 isset $_POST 等。因为每次我提交表单时,我都会转到标题指向的页面。


但是当它到达用户页面时,用户仍然在那里。现在问题可能是:


我实际上并没有发送 ID


我确实发送了 id,但 $sql 以某种方式没有得到 id?该delUser()功能为空,而类似show($id=null)显示所有用户。


在delUser()需要的东西一样$_POST['id'],但会在我的编辑会出现意想不到的字符。


无法解决,有人能帮忙吗?


猛跑小猪
浏览 101回答 2
2回答

慕后森

您尚未在 from 到 $_POST['id'] 中设置任何内容。发布元素的名称取自html 表单中的名称。具有 id 值的输入标签需要将名称设置为 id:<input&nbsp;type="hidden"&nbsp;value="'.$user['id'].'"&nbsp;name="id">

慕容708150

使用字段name上的属性提交 POST 值input。将您的 HTML 输入更改为<input&nbsp;type="hidden"&nbsp;name="id"&nbsp;value="'.$user['id'].'">
随时随地看视频慕课网APP
我要回答