You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP无法识别<input>提交按钮,点击删除无响应问题排查

问题原因及修复方案

你的代码里有几个明显的错误导致PHP无法识别delete提交按钮,我帮你逐一拆解:

1. 表单标签未正确闭合

你最后一行输出表单闭合标签时少写了右尖括号:

echo "&lt;/form";

应该改成:

echo "&lt;/form&gt;";

未闭合的form标签会导致浏览器无法正确解析表单结构,提交请求自然无法被PHP正确捕获。

2. 错误的属性位置

你在input标签里错误添加了method='post'属性:

echo "&lt;td&gt;" ."&lt;input type='submit' name='delete' value='Delete' method='post' &gt;" . "&lt;/td&gt;";

method是<form>标签的专属属性,<input>标签并不支持这个属性,虽然这不会直接导致提交失效,但属于语法错误,建议移除。

3. 额外优化:为删除操作携带目标ID(可选但必要)

当前代码里的删除按钮没有携带对应书籍的ID,就算PHP能识别到提交,也不知道要删除哪条数据。建议给每个提交按钮搭配隐藏字段,或者用按钮的value存储ID:

比如改成这样:

echo "&lt;td&gt;
          &lt;input type='hidden' name='book_id' value='{$row['id']}'&gt;
          &lt;input type='submit' name='delete' value='Delete'&gt;
       &lt;/td&gt;";

之后PHP里可以通过$_POST['book_id']定位要删除的记录。

修正后的完整代码示例

// 执行查询并获取数据后运行
echo "&lt;form method='POST'&gt;
&lt;table border='1'&gt;
  &lt;tr&gt;
    &lt;th&gt;Books&lt;/th&gt;
    &lt;th&gt;Action&lt;/th&gt;
  &lt;/tr&gt;";

foreach($result as $row){
  echo "&lt;tr&gt;
          &lt;td&gt;" . $row['nameOfBook'] . "&lt;/td&gt;
          &lt;td&gt;
            &lt;input type='hidden' name='book_id' value='{$row['id']}'&gt;
            &lt;input type='submit' name='delete' value='Delete'&gt;
          &lt;/td&gt;
        &lt;/tr&gt;";
}

echo "&lt;/table&gt;
&lt;/form&gt;";

if(isset($_POST['delete'])){
  // 这里可以获取book_id进行删除操作
  $bookId = $_POST['book_id'];
  die("删除按钮已被触发,目标书籍ID:{$bookId}");
}

这样修改后,点击删除按钮应该就能被PHP的isset($_POST['delete'])捕获到了。

内容的提问来源于stack exchange,提问作者Second View

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 06:54:54