我正在使用 anchor 标记来运行 JS 函数 confirm(),如果用户单击确定,它会添加“deltopic=id”,并使用 $_GET 方法获取“deltopic”以删除该特定项目,但是它似乎找不到 $_GET['deltopic']
<script language="JavaScript" type="text>
function deltopic(title, tid) {
if(confirm("Are you sure you want to delete '" + title + "'")){
window.location.href = "?viewtopic.php&deltopic=" + tid;
}
}
</script>
<?php
if(isset($_GET['deltopic'])){
if($_GET['deltopic'] !=='1'){
$query = "DELETE FROM `bkg`.`bkg_topics` WHERE `bkg_topics`.`topic_id` = :topicid";
$query_params = array(':topicid' => $_GET['deltopic']);
try{
$stmt = $db->prepare($query);
$result = $stmt->execute($query_params);
header('Location: index.php?forums&action=deleted');
exit;
} catch(PDOException $e) {
$error[] = "An error has occured. Please try again later.";
}
}
echo "deltopic is set";
}
我添加了最后一个 echo 只是为了查看它是否检查 deltopic
是否已设置,或者它是否是我的 SQL 中的一个我没有看到的错误。但是我没有看到“deltopic is set”。
我不确定我做错了什么和/或我忘记了什么。我有与此类似的代码,它确实有效,并仔细检查了它。
编辑:我在“window.location.href”字符串中看到了错误,我在其中将 .php 添加到 ?viewtopic 的末尾,使其成为 ?viewtopic.php
。删除 .php 也解决了我的问题。
最佳答案
window.location.href = "?viewtopic.php&deltopic=" + tid;
将生成 URL,其中“viewtopic.php”是 URL QUERY 的一部分。也许您希望它在 PATH 中:
window.location.href = "viewtopic.php?deltopic=" + tid;
关于javascript - 使用 Javascript 和 PHP 从数据库中删除项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35387458/