使用提交按钮删除文章

时间:2017-12-10 17:51:51

标签: php html css

我在删除文章时遇到问题。我希望它在点击提交按钮后删除,但我不知道如何。我不想在select标签中使用javascript自动提交表单。你能帮我吗 ?我会赞同这一点。感谢。

<?php

session_start();

include_once('../includes/conn.php');
include_once('../includes/article.php');

$article= new Article;

if(isset($_SESSION['logged_in'])){
 if(isset($_POST['id'])){
  $id=$_POST['id'];

$query=$pdo->prepare('DELETE FROM articles WHERE article_id=?');
$query->bindValue(1, $id);
$query->execute();

header('Location: delete.php');

}

 $articles=$article->fetch_all();

?>
<html>
<head>
  <title>CMS Tutorial</title>
  <link rel="stylesheet" href="assets/style.css" />
</head>
<body>
  <div class="container">
    <a href="index.php" id="logo">CMS</a>
    <br/>
    <h4>Delete article:</h4>
      <form action="delete.php" method="post" name="id">
      <select>
      <?php foreach($articles as $article){?>
          <option value="<?php echo $article['article_id']; ?>"><?php echo $article['article_title']; ?></option>
      <?php } ?>
    </select>
    <input type="submit" value="Delete article">
      </form>
  </div>
</body>
?>

2 个答案:

答案 0 :(得分:1)

根据您的代码,将name="id"表格转移到选择

您正在尝试选择下拉列表ID,因此名称应该提供给选择

<form action="delete.php" method="post" name="id">
<select>

<form action="delete.php" method="post">
<select name="id">

您的代码中注意到的另一个问题是,您应该终止执行 header('Location: delete.php'); die();之后立即或{。}} exit();以确保不应执行剩余的行。在PHP中, header()只是一个帮助设置标题的函数,在这里 您正在解决位置标题,该标题由浏览器进一步处理 采取必要的行动(这里重定向)。所以,header()会这样做 不确保停止执行剩余的代码。

答案 1 :(得分:0)

delete.php添加到表单而不是php以执行上面的name="id"代码,并假设该文件看起来像您的帖子。 并将select添加到form元素以抓取要操作的值,而不是session_start(); include_once('../includes/conn.php'); include_once('../includes/article.php'); $article= new Article; if(isset($_SESSION['logged_in'])){ if(isset($_POST['id'])){ $id=$_POST['id']; $query=$pdo->prepare('DELETE FROM articles WHERE article_id=?'); $query->bindValue(1, $id); $query->execute(); header('Location: delete.php'); } $articles=$article->fetch_all(); ?> <html> <head> <title>CMS Tutorial</title> <link rel="stylesheet" href="assets/style.css" /> </head> <body> <div class="container"> <a href="index.php" id="logo">CMS</a> <br/> <h4>Delete article:</h4> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> <select name="id"> <?php foreach($articles as $article){?> <option value="<?php echo $article['article_id']; ?>"><?php echo $article['article_title']; ?></option> <?php } ?> </select> <input type="submit" value="Delete article"> </form> </div> </body> 。 我希望这可以根据您在帖子中提供的内容进行操作。

value