借助复选框删除选定的图像

问题描述

| 这是一个页面用户可以在其中编辑上传的图像。每个图像附近都有一个复选框。我想在用户单击“删除选定的图像”按钮后删除选定的图像(每个复选框均包含图像名称作为值)。我怎样才能做到这一点?
<?PHP 
    session_start();
    //////////////if user already logged in go to login.PHP/////////
    if (isset($_SESSION[\'email\'] )&& isset($_SESSION[\'password\'] ))
    { 
    } else{header( \"Location: login.PHP\" ); }

      include(\'includes/config.PHP\');


      if (isset($_POST[\'esubmit\'])     ){

       $checkBox=$_POST[\'delete\'];
       echo $checkBox;

       }//main one



     if (isset($_POST[\'esubmit\'])     ){

     } else {        $clickeditid=$_GET[\"id\"];  
         $_SESSION[\'eid\']= $clickeditid ;
        }




 ?>
 <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\">
<head>
<Meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />
<title>Untitled Document</title>
<link href=\"css/css.css\" rel=\"stylesheet\" type=\"text/css\" />
 <style rel=\"stylesheet\" type=\"text/css\">
input {
  border-style: solid;
  border-color: #000000;
  border-width: 1px;
  background-color: #ffffff;
}
</style>

<script src=\"js/css_browser_selector.js\" type=\"text/javascript\"></script>
</head>

<body>
<?PHP   


include(\'includes/topmenu.PHP\');//top menu
  echo \'<br />\';  
  include(\'includes/usermenu.PHP\');///bcoz of this menu error occurs



 ////////////////////


   include(\'includes/edit_img_menu.PHP\');  
 ?>
  <form id=\"form1\" name=\"form1\" method=\"post\" action=\"editimg.PHP?id=<?PHP echo $_SESSION[\'eid\'];?>\">
  <table align=\"center\" width=\"70%\" cellspacing=\"0\">
  <tr>
    <td colspan=\"3\" align=\"center\" bgcolor=\"#FFFFFF\"></td>
    </tr>
  <tr>
    <td colspan=\"3\" align=\"center\" bgcolor=\"#FFFFFF\"><?PHP     
$imgcheck=MysqL_query(\"

 SELECT *
FROM `images`
WHERE `deal_id` =$_SESSION[eid]
LIMIT 0,30

 \");
 $numimgcheck=MysqL_num_rows($imgcheck);
 if($numimgcheck==0){echo \'<span style=color:#ff0000; >No pictures uploaded</span>\';}
while ($rowimg2= MysqL_fetch_array($imgcheck)){ 


  $imgname=$rowimg2[\'name\'];

 {



     echo \'    <a href=\"users/\'.$_SESSION[\'userid\'].\'/images/\'.$imgname.\'\" rel=\"lightBox[slide]\" caption=\".\">\';
 }


 { echo \'<img src=\"users/\'.$_SESSION[\'userid\'].\'/images/thumbs/\'.$imgname.\'\" border=\"0\" />\';}
        { echo \'</a><input type=\"checkBox\" name=\"delete\" id=\"delete\" value=\"\'.$imgname.\'\"> &nbsp;&nbsp;&nbsp;&nbsp;
\';}




}
   ?></td>
    </tr>
  <tr>
    <td colspan=\"3\" align=\"center\" bgcolor=\"#FFFFFF\">&nbsp;</td>
    </tr>
  <tr>
    <td colspan=\"3\" align=\"center\" bgcolor=\"#95F8FD\"><input name=\"esubmit\" type=\"submit\" class=\"red\" id=\"esubmit\" value=\"Delete selected images\" /></td>
    </tr>
  <tr>
    <td width=\"89\">&nbsp;</td>
    <td colspan=\"2\">&nbsp;</td>
    </tr>
</table>
   </form>

</body>
</html>
    

解决方法

        您必须创建一个表单以提交选中的复选框的数据,并使用php代码处理提交的结果:如果要将php代码放在同一页上,则可以检查POST变量中是否有任何数据,并且创建一个SQL查询以删除相应的图片。 您可以在此处找到文档齐全的教程:http://sharemyphp.wordpress.com/2009/12/21/ajax-jquery-php-multiple-delete-item-with-check-box/ 问候, 最高     ,        我使用以下代码在管理面板中删除图像。我将文件另存为
deletephoto.php
。请注意,此脚本无需登录即可工作。您需要进行一些更改以适合您的用例
<form method=\"post\" action=\"deletepho.php\">
<center>
<input type=\"submit\" value=\"Delete\" name=\"Delete\">
</center>
<?php
\\\\lets assign the folder name in $title
\\\\You can assign any name
$title= \"test\";
\\*$directory corresponds to whole path. Edit to your preference. (i assume u store your 
images in directory named \"images\") */    
$directory = \"$title/images\";
\\\\The array specifies the format of the files
$allowed_types=array(\'jpg\',\'jpeg\',\'gif\',\'png\');
$file_parts=array();
$ext=\'\';
$title=\'\';
$i=0;

$dir_handle = @opendir($directory) or die(\"There is an error with your image directory!\");

while ($file = readdir($dir_handle)) 
{
    if($file==\'.\' || $file == \'..\') continue;

    $file_parts = explode(\'.\',$file);
    $ext = strtolower(array_pop($file_parts));

    $title = implode(\'.\',$file_parts);
    $title = htmlspecialchars($title);

    $nomargin=\'\';

    if(in_array($ext,$allowed_types))
    {
        if(($i+1)%4==0)
        $nomargin=\'nomargin\';
        echo\'
        <div id=\"picture\">
        <img src=\"\'.$directory.\'/\'.$file.\'\" width=\"150\" height=\"150\"><br>
        Select <input type=\"checkbox\" value=\"\'.$directory.\'/\'.$file.\'\" name=\"imgfile[]\">

\\* I specified input name as an array . So that we can store in an array and delete it.*/
            </div>\';
            }
            $i++;
        }

    closedir($dir_handle);
    \\\\Now we have the list of images within form elements
    ?>
    </form>
现在,这里是删除照片的实际代码。我将其另存为
deletepho.php
$file = $_REQUEST[\'imgfile\'];
$num_files=count($file);
for($i=0;$i<$num_files;$i++)
{
unlink (\"$file[$i]\");
}
echo \"Images successfully deleted.Go <a href=\'deletephoto.php\'>back</a>\";
    

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...