checkbox的name用selAnnounce[]就可以了
接收用$_POST['selAnnounce'];
接收到的是个数组,用print_r($_POST['selAnnounce']);就能看到内容了
另外当第1次打开这个页面时,因为$_POST['selAnnounce']还没被提交到,因此会有notice
所以最好在print_r($_POST['selAnnounce']);前加个@,
@print_r($_POST['selAnnounce']);

解决方案 »

  1.   

    楼主,你只需把程序改成如下,就可能得到你要的结果。
    echo "<td width=\"68\"><p align=\"center\"><input type=\"checkbox\" 
                                            name=\"checked[]\" value=\"selAnnounce[$i]\"></td>";接收处理部分:
    <?
    $checked = $_POST["checked"];
    for($i=1;$i<count($checked);$i++)
    {
    echo $checked[$i];
    }
      

  2.   

    多谢,可是它提示:index未定义
    改过了,为什么他死活不认呢?晕哦
      

  3.   

    echo "<form method=\"POST\" action=\"adminedit.php?page=1\">";
    echo '    <div align="center">';     
    echo '<table class="border" border="0" cellspacing="0" width="589" cellpadding="3">';
    echo '        <tr class="title">';
    echo '          <td width="46" align="center"  height="20"><strong>ID</strong></td>';
    echo '          <td width="400" align="center" ><strong>文章</strong></td>';
    echo '          <td width="68" align="center" ><input type="submit" class=buttonface value="删 除"></td>';
    echo '        </tr>';
    $flag=0;
    $i=0;while($result[$i][0])

    echo "<tr>";      
             echo '<td height="23" width="46"><p align="center">'.$result[$i][0].'</td>';
             echo '<td width="400"><a href="shownews.php?id='.$result[$i][0].'"> '.$result[$i][1].'</a></td>';
              echo '<td width="68"><p align="center"><input type="checkbox" name="selAnnounce[]" value="1"></td>';//ATTENTION!
     echo "</tr>";
     $i++;
     }
    echo "</table>";
    echo "</form>";
    $sel=$i;for($i=0;$i<$sel;$i++)
    {
    if($_POST['selAnnounce'][$i]==1)
    {
    $sql="update artile set visible=0 where art_id=$result[$i][0]"; 
    $sql_query=mysql_query($sql,$connection);
    if(!$sql_query)
    echo "db query error";
    }
    }
    $close=mysql_close($connection);
                    
      

  4.   

    在出现$_POST['selAnnounce'][$i]的地方系统提示,index未定义
      

  5.   

    我的全选和删除!
    全选一:
    function chkAll_onClick(){
    if(typeof(document.del.chkItem)=="undefined") return;
    if (typeof(document.del.chkItem[0]) == "undefined"){document.del.chkItem.checked = document.del.chkAll.checked;}
    else
    for (i = 0; i <document.del.chkItem.length; i++)
    document.del.chkItem[i].checked = document.del.chkAll.checked
    return;
    }
    全选二:
      function check(f)
      {  
       var o = document.getElementsByTagName('INPUT');
        f = f == '1'?'0':'1';
        for(var i=0;i<o.length;i++)
        {
          if(o[i].type == 'checkbox') o[i].checked = f == '1'?false:true;
        }
      }
    里面当然有叛断!
    php中取值:
    $coun = count ($_POST['chk']);
    $tmp=$_POST['chk'];
      for ($i = 0; $i < $coun; $i++)
    {
          //删除操作
          $query_str = "DELETE FROM message WHERE message_id =$tmp[$i]";
    $gDB->query($query_str);
    }
      

  6.   

    为了测试,我编了两个小程序
    文件a.php
    <form method="POST" action="b.php">
    <input type="checkbox" name="sel" value="1">
     <p><input type="submit" value="提交" name="B1"><input type="reset" value="重置"
     name="B2"></p>
    文件b.php
    <?echo $_POST['sel']."****************************************";?>运行提示 sel:index undefined问题是我其它类型的form都是post成功的,而只有checkbox不行
    头痛死了
      

  7.   

    不会吧,怎么在我电脑里又可以了!重启web服务器或计算机试一下!
      

  8.   

    请再试试:
    文件a.php
    <form method="POST" action="b.php">
    <input type="checkbox" name="sel" value="1" checked>
     <p><input type="submit" value="提交" name="B1"><input type="reset" value="重置"
     name="B2"></p>
    文件b.php
    <?echo $_POST['sel']."****************************************";?>可能原因
    checkbox要选中它才会有值的。
      

  9.   

    咳咳
    还是不行,我换了界面了,不用checkbox,可是,还是有些郁闷。