2010-02-06 127 views
0

我已经写了检查并删除所有内容,但是当我删除表格上点击是提交,但复选框的值不贴PHP后复选框问题

我的HTML代码如下:

<?php 
$sql="select * from tbl_comment order by id desc limit $start,$rec_per_page"; 
$result = $db->sql_query($sql); 
?> 
<br> 
<form action="?page=<?=$_REQUEST['page']?>&op=delete" method="post" name="email"> 
    <table border=0 cellpadding=5 width="100%" cellspacing=0> 
     <tr class="text1"> 
      <td colspan=3 class="darkBlue"><B>Comment List</B></td> 
     </tr> 
     <tr bgcolor="#CACBD2" class="text1"> 
      <td class="text1"><B>Name</B></td> 
      <td class="text1"><B>Comment</B></td> 
      <td class="text1"><strong>Action </strong></td> 
     </tr> 
     <?php 
     $r1=0; 
     $class='white'; 
     while($rec=$db->sql_fetchrow($result)) 
     { 
      $status = $rec['status']; 
      if($status==1) 
       $activelink = '<a href="index.php?page='.$page.'&comment_id='.$rec['id'].'&op=status&flag=disapprove&page_em='.$page_em.'" onclick="return confirm(\'Do you want to disapprove?\')">Disapprove</a>'; 
      else 
       $activelink = '<a href="index.php?page='.$page.'&comment_id='.$rec['id'].'&op=status&flag=approve&page_em='.$page_em.'" onclick="return confirm(\'Do you want to Approve?\')">Approve</a>'; 
     ?> 
     <tr class="<?= $class;?>"> 
      <td><?=$rec['fname'].$rec['lname']?></td> 
      <td><?=$rec['comment']?></td> 
      <td><!--<a href="index.php?page=<?=$page?>&comment_id=<?=$rec['id']?>&op=delete" onclick="return confirm('Do you want to Delete?')">[X]</a>--><input type="checkbox" name="chkdelete[]" id="chkdelete[]" value="<?=$rec['id']?>" /><?=$rec['id']?>&nbsp;|&nbsp;<?=$activelink?></td> 
     </tr> 
     <?php 
     if($class=='white') 
      $class='lightBlue'; 
     else 
      $class='white'; 
     } 

     for($pages = 1; $pages <= $total_pages; $pages++) 
     { 
      if ($pages == $page_em) 
      { 
       $nav .= "<strong style='font-size:12px;' class='redbold'>".$pages."</strong>&nbsp;&nbsp;"; 
      } 
      else 
      { 
       $nav .= "<a href=\"?page_em=".$pages."&page=comments\">".$pages."</a>&nbsp;&nbsp;"; 
      }   
     } 

     if ($total_pages > 1) 
     { 
      if (($page_em-1) > 0) { 
       $prev= "<a href=\"?page_em=".($page_em-1)."&page=comments\">Previous</a>&nbsp;&nbsp;"; 
      } else { 
       $prev= "Previous&nbsp;&nbsp;"; 
      } 
      $content .= "&nbsp;&nbsp;"; 
      if (($page_em+1) <= $total_pages) { 
       $next.= "<a href=\"?page_em=".($page_em+1)."&page=comments\">Next</a>"; 
      } else { 
       $next= "Next"; 
      } 
     } 

     $NavigationButton=$prev.$nav.$next; 
     if($total_rec==0){ 
      $NavigationButton="Record not found!"; 
     } 
     ?> 
     <tR class="text1"> 
      <td ><?=$NavigationButton?></td> 
      <td></td> 
      <td align="left"> 
       <strong> 
        <input type="checkbox" name="All" id="All" value="yes" onclick="javascript:checkall();"/> (Select All) | 
        <label> 
         <input type="submit" name="Submit" value="Delete Selected" onclick="return confirm('Do you want to Delete?')"/> 
        </label> 
       </strong> 
      </td> 
     </tr> 
    </table> 
</form> 
<?php 
} 

而且功能删除是以下几点:

function delete_email() 
{ 

    print_r($ids = $_POST['chkdelete']); 

    foreach($ids as $key=>$id) 
    { 
     echo "hi2"; die; 
     global $db; 
     //$email=$_GET['comment_id']; 
     $sql="delete from tbl_comment where id='".$id."'"; 
     $db->sql_query($sql); 
     echo "deleted comments".$id; 
    } 
    //$url="index.php?page=".$page; 
    //header("Location:".$url); 
} 

任何一个普莱舍帮助我

回答

0

就一个我可以告诉你,你的复选框名称为chkdelete[],而你指的是一个POST变量chkdelete(没有[])。

+0

不,我不能通过这也 – rajanikant 2010-02-06 10:10:04

+0

这很好,$ _POST ['chkdelete']应该是数组,因为输入名称以'[]'结尾。 – parserr 2010-02-06 10:10:42

+0

是的plese帮助我我花了很多时间在这个我已经这样做了,但在这个我无法得到任何错误 – rajanikant 2010-02-06 10:17:24

0
<form action="?page=<?=$_REQUEST['page']?>&op=delete" ... 

你打这个表单动作的权利功能?另外,如果你在这个url上做一些重定向,你的$ _POST数据将会丢失(另一个请求,没有发布数据)。

不应该与您的问题有任何关系,但值得注意的是,您将分配相同的DOM id('chkdelete []')到所有复选框,而它应该是uniqe。