-1

フォームを送信して php の処理を​​行った後、ページを更新するにはどうすればよいですか。これまでのところ、私のフォームとphpがここにあります。

<form  class="removeform"action='peteadd.php'method='post' enctype='multipart/form-  
 data' name='image_remove_form' > 
    <?php
       include '../inc/connect.php';
       $q = "SELECT * FROM gallerythumbs WHERE gallery = 1";
       if($r = mysql_query($q)){
          while($row=mysql_fetch_array($r)){
             echo "<div class='thumb'>",
           "<input type='checkbox' name='remove[{$row['id']}]'>",
           "<label for='Remove'><span class='text'>Remove</span></label>",
           "<br />",
           "<img class='thumbnail' src='{$row['filename']}' 
                     alt='{$row['description']}' />",
        "</div>";
         }

     }
             else{
                echo mysql_error();
             }
         ?>
          <input type='submit' name='submit' value='Remove' />
          </form>
            </div>
            <?php
                 include '../inc/connect.php';
                 //if delete was checked, delete entries from both tables
                 if(isset($_POST['remove'])){
                    $chk = (array) $_POST['remove'];
                    $p = implode(',',array_keys($chk)); 
                    $t = mysql_query("SELECT * FROM galleryimages WHERE id IN ($p)");
                $r = mysql_query("SELECT * FROM gallerythumbs WHERE id IN ($p)");
                    $url=mysql_fetch_array($t);
                    $image=$url['filename'];
                    $url2=mysql_fetch_array($r);
                    $image2=$url2['filename'];    
                    if ($t){
                       unlink($image); 
               unlink($image2); 
                       $q = mysql_query("DELETE FROM galleryimages WHERE id IN ($p)");
                       $s = mysql_query("DELETE FROM gallerythumbs WHERE id IN ($p)");

                     }

                     else{
                        echo "<span class='text'>
                        There has been a problem, go back and try again.
                        <br />
                        <a href='peteadd.php'>Back</a>
                        </span>";
                     }
                }
                else{
                  echo "<span class='title'>
                        There are no images in the gallery
                        <br />
                        <a href='peteadd.php'>Add Images</a>
                        </span>";
                }
             ?>

これは、mysql に保存されているいくつかのサムネイルを表示するためのもので、その上に削除チェックボックスがあります。それらをチェックしてからフォームを送信すると、ディレクトリとmysqlテーブルから削除されますが、削除が明らかなようにページを更新するにはどうすればよいですか?

ご覧いただきありがとうございます

4

2 に答える 2

1

あなたが説明しているのは、ページを表示しているように聞こえ、その中で削除などの追加コードを実行しているため、フォームを投稿すると、データベースから画像がプルされて削除されます

最初にロジックを実行してからページを表示する必要があります。これにより、最初にレコードを削除し、次にデータベースからデータを取得するときに適切なデータを取得します(レコードが削除されていない場合)

他のソウルションは、そもそも存在しない問題を回避するためのハックな方法に他なりません:)

于 2013-06-04T19:55:53.760 に答える
0

PHP でページを直接更新することはできませんが、このような更新タグをエコーアウトすることはできます

echo '<meta http-equiv="refresh" content="0">'

、または次のようにjavascriptで実行できます

location.reload(true);
于 2013-06-04T19:55:15.833 に答える