一页的多个提交

时间:2012-02-23 22:01:05

标签: php forms post submit

我正在尝试允许用户删除特定目录中的某个图像。我需要他们首先指定一个目录,然后指定他们想要删除的图像。

我已经能够完成我认为困难的部分,将他们的图库选择结果放在一个下拉列表中,只有所选图库中的图像名称填充。

我的问题是我似乎无法获取第二个表单的提交按钮来触发将删除文件并从表中删除行的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 :(得分:0)

您在toDelete检查中进行了gal检查,因此您需要发送$_POST['gal']$_POST['toDelete']。我没有在您的第二种表单中看到gal,因此只需添加<input type="hidden" name="gal" value="{$_POST['gal']}" />