【问题标题】:PHP - Delete on button click not workingPHP - 单击按钮时删除不起作用
【发布时间】:2023-03-06 03:02:01
【问题描述】:

我需要制作一个只有管理员才能看到的删除按钮。该按钮需要删除我数据库中的一个项目,但我在最后一部分遇到了问题。

我使用此代码创建按钮并在单击时调用删除函数

if ($_SESSION['UserID'] == 1) {
    echo '<button name="featureDelete"> Delete </button>' . '<br>';
    if (isset($_POST['featureDelete'])) {
        $deleteFeature = $feature->Delete($row);
    }
}

这是我在课堂上的删除功能

public function Delete($row)
{
    $db = new db();
    $sql= "DELETE FROM features WHERE FeatureID ='".$row['FeatureID']."'";
    $db->conn->query($sql);
}

所以我可以看到该按钮,但是当我单击它时没有任何反应,我什至尝试回显某些内容,但没有得到结果。我错过了什么?

【问题讨论】:

  • 好的,缺少&lt;form&gt;,但是,$row 是在哪里定义的?
  • 页面前面已经定义了。

标签: php button click


【解决方案1】:

你没有形式。只有一个按钮。

echo '<form method="post"><button name="featureDelete"> Delete </button></form>' . '<br>';

【讨论】:

  • 感谢您的帮助!
【解决方案2】:

你必须为你的按钮创建一个表单:

<form action="" method="post">
    <input type="submit" name="featureDelete" value="Delete" />
</form>

【讨论】:

  • 就是这样,非常感谢!我的查询仍然有问题,因为它现在删除了存储在“功能”中的所有数据。但是感谢您的帮助
【解决方案3】:

您必须创建一个表单并发送变量 $row。

试试:

<form method="POST"> <input type="text" value="1" name="row" /> <button type="submit" >DELETE</button></form>

然后,在 PHP 上,在执行 SQL 之前

$row = $_POST['row'];

【讨论】:

  • 感谢您的帮助!
猜你喜欢
  • 2014-03-24
  • 2015-07-04
  • 2020-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多