0

これは私のフォームコードです:

<?php
            $b = 0;
            $stmtb = $conn->prepare('SELECT * FROM picture WHERE id = :id');
            $stmtb->bindValue(':id', $id, PDO::PARAM_STR);
            $stmtb->execute();

            while($sb = $stmtb->fetch(PDO::FETCH_ASSOC)) {
            $pic = $sb["pic"];
            $picid = $sb["picid"];
            ?>


            <img src="/pibgcarta/<?php echo $pic; ?>" height="10%" width="45%" />


            <form method="post" enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']."?dm=".$sch; ?>" id="picform">

            <input type="hidden" name="picid" id="picid" value="<?php echo $picid; ?>" class="input_field" role="input" aria-required="true" />

            <input type="hidden" name="pic" id="pic" value="<?php echo $pic; ?>" class="input_field" role="input" aria-required="true" />


            <input type="submit" value="Padam" class="submit_btn" name="deletepic" id="deletecarta" />


            <?php ++$b; } ?>

これは私の郵便番号です:

if(isset($_POST['deletepic'])) {


    $picid = $_POST["picid"];
    $pic = $_POST["pic"];



    include "connection.php";
    $query = "DELETE FROM picture WHERE picid = :id";
            $statement = $conn -> prepare($query);
            $statement -> BindParam('id', $picid, PDO::PARAM_INT);
            $result = $statement -> execute();


    $dpic = "/pibgcarta/".$pic;

    unlink($dpic); 




}

今私の問題は、3枚の写真があるとしましょう。2枚目は削除ボタンを押したのですが、3枚目は削除されました。1枚目の写真の削除ボタンを押すと、2枚目の写真が削除されます。誰かが私の問題を手伝ってくれますか? 本当にありがとうございました。ありがとう

4

1 に答える 1

3

フォームを閉じていないようです。そのため、html には pickid という名前の隠し入力がいくつかあります。スクリプトで使用できるのは最後の 1 つだけです。

したがって、送信ボタンの後に追加します</form>

于 2013-02-01T15:53:09.873 に答える