我正在使用錨標記來運行JS函數confirm(),並且如果用戶單擊了好的話,它會添加「deltopic = id」,並使用$ _GET方法來獲得「deltopic」刪除特定項目,但它似乎沒有找到$ _GET [「deltopic」]使用Javascript和PHP從數據庫中刪除項目
<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";
}
我最後添加的回聲只是爲了看看它的檢查,如果deltopic
isset,或者如果它在我的SQL中是一個錯誤,我只是沒有看到。但是我沒有看到「deltopic已經設置」了。
我不知道我做錯了什麼和/或我忘記了什麼。我有類似這樣的代碼,確實有效,並仔細檢查了它。
編輯:我看到了我在'window.location.href'字符串中的錯誤,我在那裏添加.php到?viewtopic的末尾,使它成爲?viewtopic.php
。刪除.php也解決了我的問題。
嘗試'window.location.href = 「?viewtopic.php deltopic =」 + TID;' – Matt
雖然,阿賈克斯通過jQuery的會好很多 – Matt
我不太熟悉使用ajax和mysql數據庫。我把它改成了'window.location.href =「viewtopic.php?deltopic =」+ id;',遇到了一些其他問題,但把它弄清楚^ ^謝謝。 – Moonblaze