【发布时间】:2017-08-20 00:04:55
【问题描述】:
简单的 CRUD 应用程序。
主列表包含几个孩子
删除孩子时,我将 parentID 和 childID 传递给我的 deleteItem 脚本“deleteitem.php”。
从数据库信息中呈现的表格
<form action="deleteitem.php" method="post">
<?php
$var = 1;
$listID = $_GET['listID'];
$select = "SELECT subtasks.createdOn, subtasks.subtask_id, subtasks.listTitle, subtasks.createdBy, subtasks.listStatus, subtasks.createdOn
FROM subtasks
INNER JOIN userlists
ON subtasks.parentID = userlists.listID
WHERE subtasks.isChild = :var
AND subtasks.parentID = :listID";
$select = $pdo->prepare($select);
$select->bindParam(':var',$var);
$select->bindParam(':listID',$listID);
$select->execute();
while ($row = $select->fetch(PDO::FETCH_ASSOC)) {
$listID = $row['subtask_id'];
$listTitle = $row['listTitle'];
echo "<tr>";
echo "<td>".$createdOn = $row['createdOn']."</td>";
echo "<td>".$listTitle = $row['listTitle']. "</td>";
echo "<td>".$listStatus = $row['listStatus']."</td>";
echo "<td><a class=\"btn btn-warning\" href='edit.php?edit_id=$listID'";
echo "</a><i class=\"fa fa-pencil-square-o\"></i>";
echo "<a>";
echo " ";
echo "<a href='deleteitem.php?listID=$listID&parentID=$parentID'>";
echo "<input=\"submit\" class=\"btn btn-danger\" value=name=\"deleteItem\"/>";
echo "<i class=\"fa fa-trash-o\"></i></a>";
echo "<a></td>";
echo "</tr>";
}
echo "</tbody>";
echo "</table>";
echo "</div>";
?>
</tbody>
</form>
deleteitem.php
<?php
session_start();
if(!isset($_SESSION['user_id'])) {
header("Location: index.php");
}
/**Include our MySQL connection.*/
require 'database.php';
$listID = $_GET['listID'];
$parentID = $_GET['parentID'];
try {
if(isset($_POST['deleteItem'])) {
$delete = "DELETE FROM subtasks
WHERE subtask_id = :listID
AND parentID = :parentID";
$delete = $pdo->prepare($delete);
$delete->bindParam(':listID',$listID);
$delete->bindParam(':parentID',$parentID);
$delete->execute();
$listID = $parentID;
header("location:list.php?listID=$listID&parentID=$parentID");
echo 'The delete happened';
}
/* catch any exceptions that may occur */
} catch(PDOException $e) {
echo "error:".$e->getMessage();
}
echo 'Parent ID ';
var_dump($parentID);
echo '<br/>';
echo 'List ID ';
var_dump($listID);
?>
我的 var_dump 行正在输出 parentID 和 listID,所以我知道数据正在被推送到 deleteitem.php 文件。然而,出于某种原因,DELETE 语句根本没有运行。
任何帮助找出 DELETE 语句未执行的原因将不胜感激。
【问题讨论】:
-
$_POST不使用 url,$_GET使用。 -
链接不会提交表单,只有
submit/input会提交表单,或者使用一些 JS。 -
你最近不太善于接受答案。如果您从不留下提示,那么 SO 社区为什么要帮助您
-
我假设你在跟我说话。如果有人回答了我的帖子并且该答案确实有效,我将其标记为已接受。仅仅因为有人发布了一些东西并不能保证他们得到答案。如果有多个答案而我选择了您不会选择的答案,您会进一步抱怨吗?事实上,您的帖子根本没有提供任何帮助。