javascript - 使用 Javascript 和 PHP 从数据库中删除项目

标签 javascript php

我正在使用 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/

相关文章:

php - 如何在 MySQL 表中查找特定字符串

php - 来自数据库的发布日期

javascript - 如何使用 angularjs 创建搜索?

javascript - 单击 div 后将焦点返回到输入字段

javascript - 仅在通过脚本访问时未定义属性

javascript - 如何仅使用 JavaScript 拆分输入字段中的数据?

php - 无效参数编号 : number of bound variables does not match number of tokens in Doctrine

php - 使用 $_POST 在同一页面上获取输入值

php - 如何使用 Yii::app()->end() 方法以及它与 exit() 有何不同?

javascript - NG-repeat 不渲染内容