PHP删除查询不发送id

PHP删除查询不发送id,php,mysql,Php,Mysql,我尝试使用PDO从PHPMyAdmin表中删除数据,但它不起作用。我的联系已经建立。当我点击URL中的删除按钮时,它不会传递ID。有什么办法可以让它工作吗 表格如下: <?php include_once 'admin/includes/helpers.inc.php';?> <?php include 'index.php' ?> <!DOCTYPE html> <html lang="en"> <head>

我尝试使用PDO从PHPMyAdmin表中删除数据,但它不起作用。我的联系已经建立。当我点击URL中的删除按钮时,它不会传递ID。有什么办法可以让它工作吗

表格如下:

<?php include_once 'admin/includes/helpers.inc.php';?>
<?php include 'index.php' ?>

<!DOCTYPE html>
<html lang="en">
<head>
     <meta charset="utf-8">
     <title>List of Jokes</title>
</head>
<body>
<p><a href ="/comp1321_database/jokes/form.html.php/">Add your own joke</a></p>     
<p>Here are all the jokes in the database</p>
<!-- into a table -->
        <table border="1">
        <?php foreach ($jokes as $joke): ?>
            
             <form action="?deletejoke" method="POST">  
             <tr>
             <td><?php html($joke['joketext']);?></td>

             <td><?php $display_date = date("Y-m-d", strtotime($joke['jokedate']));
             html($display_date); ?>
         </td>
         <td><img height="100px" src="../images/<?php html($joke['image']);?>" /></td>

             <td><a href=" mailto:<?php html($joke['email']);?>">
               
             <?php html($joke['name']);?></a></td>          

            </td>
            <td><input type="hidden" name="id" value="<?php echo $joke['joke_id'];
            ?>">

            <input type="submit" value="Delete"></td>
        </tr>
     </form> 
        <?php endforeach; ?>
        </table>
   <?php include 'admin/includes/footer.inc.html.php';?>   
</body>
</html>   
                 

非常感谢。

首先,您的
捕获中有一个代码错误:

`include 'error.html.pp';` 
应该是:

include 'error.html.php';
第二件事是,您没有在
$\u POST['deletejoke']
中传递任何值,因为它是作为
$\u GET
发送的,如果它根本没有值(取决于浏览器)

所以基本上要改变这一点:

<form action="?deletejoke" method="POST">
致:


deletejoke
是未传递到
$\u POST
的表单名称

这一行:

if(isset($\u POST['deletejoke']))
应该是

if(isset($\u POST['id']))

而不是
if(isset($\u POST['deletejoke'])
尝试
if(isset($\u POST['id'))
这解决了问题。非常感谢。在
$\u POST['id']
中有POST值,但他检查
表单中声明的
deletejoke
操作作为
get
参数,其余的代码都很好,只要
没有发生就行了。
是的,检查晕眩的注释并answer@FlashThunder啊,啊。不,我明白你的意思。我的回答正好解决了这个问题,就在这里,就在现在,又快又脏。你的“可能”考虑到OP的发展方向。
<form action="?deletejoke" method="POST">
<form action="?deletejoke=1" method="POST">
if (isset($_POST['deletejoke'])) {
if (isset($_GET['deletejoke'])) {