gpt4 book ai didi

php - 提交表单并通过 URL 传递变量数据时 $_POST 不触发

转载 作者:行者123 更新时间:2023-11-29 18:29:58 25 4
gpt4 key购买 nike

简单的 CRUD 应用程序。
主列表包含几个 child 删除子项时,我将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['deleteitem'] 仅在您按下提交按钮时才会出现。

如果您单击此处创建的 anchor 标记:

echo "<a href='deleteitem.php?listID=$listID&parentID=$parentID'>";

您不会使用 POST 而是使用 GET 发送到 php。此外,只会传递查询字符串中存在的变量,即 ?listID=$listID&parentID=$parentID ,因此不会传递 deleteItem

因此,如果您单击 anchor 标记,此 IF 测试行将永远不会为真

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

关于php - 提交表单并通过 URL 传递变量数据时 $_POST 不触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45773399/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com