Несколько представлений с одной страницы - PullRequest
2 голосов
/ 24 февраля 2012

Я пытаюсь разрешить пользователю удалить определенное изображение в определенном каталоге. Мне нужно, чтобы они сначала указали каталог, а затем изображение, которое они хотят удалить.

Я смог выполнить то, что, как я думал, будет самой сложной задачей - получить результат выбора галереи в выпадающем списке, заполненном только названием этих изображений в выбранной галерее.

Моя проблема в том, что я не могу получить кнопку отправки для моей второй формы, чтобы вызвать оператор if, который удалит файлы и удалит строку из таблицы. Я думал, что кто-то здесь может просмотреть мой код и сказать, что мне не хватает :(

спасибо за тонну!

    <form action ='' name="form1"  method='POST'  enctype="multipart/form-data">
<p>Select Gallery: <select name="gal"  style="color:black;">
    <option value="" style="color:black;"><?php echo $gal; ?></option>
    <option value="graphicdesign/logos" style="color:black;">GD logos</option>
    <option value="graphicdesign/webdesign" style="color:black;">GD website design</option>
    <option value="graphicdesign/advertisements" style="color:black;">GD Advertisements</option>
    <option value="fineart/nature" style="color:black;">FA Nature</option>
    <option value="fineart/people" style="color:black;">FA People</option>
    <option value="fineart/landscapes" style="color:black;">FA Landscapes</option>
    <option value="photography/misc" style="color:black;">PG Misc</option>
    <option value="photography/nature" style="color:black;">PG Nature</option>
    <option value="photography/people" style="color:black;">PG People</option>
</select></p>
<input type="submit" value="Set Galery" style="color:black;"></p>

            <?php 

$connect = mysql_select_db("cynthie") or die("couln't find db on 2 :(");
$metaData = mysql_query("SELECT `name`, `path_full`, `path_thumb`, `galId`  FROM `images`") or die("couln't find table :(");
$gal = $_POST['gal'];

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

                    echo '<form action ="" method="POST"  enctype="multipart/form-data"><p>Select Image: <select name="toDelete" style="color:black;"><p><option style="color:black;">select img</option></p>';
                    while ($displayData = mysql_fetch_assoc($metaData)) 
                    {
                        $names = $displayData['name'];
                        $path_full = $displayData['path_full'];
                        $path_thumb = $displayData['path_thumb'];
                        $galDb = $displayData['galId'];

                        if ($galDb != $gal)
                        {}
                        else
                        {
                            echo '<p><option style="color:black;">'.$names.'</option></p>';
                        }

                    }

                    echo    '</select><p><input type="submit" value="Delete" style="color:black;"></p></form>';

     $connect = mysql_select_db("cynthie") or die("couln't find db on 4 :(");
     $delete = mysql_query("SELECT `id` FROM images WHERE name='$toDelete'") or die("couln't find table on line 81 :(");
    $toDelete = $_POST['toDelete'];     

                    if (isset($_POST['toDelete']))
                        {
                        unlink($path_full);
                        unlink($path_thumb);
                        mysql_query("DELETE FROM images WHERE `id`=$delete");
                        unset($delete);
                        echo '<p>removed!</p>';
                        }
                    else
                    {}

                        }




            ?>

1 Ответ

0 голосов
/ 24 февраля 2012

Ваш чек toDelete находится внутри чека gal, поэтому вам необходимо отправить $_POST['gal'] и $_POST['toDelete'].Я не вижу gal во второй форме, поэтому просто добавьте <input type="hidden" name="gal" value="{$_POST['gal']}" />.

...