douyi1855 2014-07-09 15:41
浏览 65
已采纳

表单复选框值php

I have a form created by a while loop in php like this :

<form action='#' method='post'>
<input type='hidden' name='form_valid' id='form_valid'>
<?php
$i=-1;
$result_array = array();
//the while is from a simple mysql query
while( $line = $results->fetch() )
{
  $i++;
  echo"<input type='checkbox' class='checkbox' value='".$line->nid."' id='".$i."'>";
  echo $line->title;
  echo'<br>';
  $result_array[$i] = $line->nid;
}
<input type='submit'>
?>
</form>

Then later on the code I'd like to store the values of the checked checkboxes only in a new array :

if (isset($_REQUEST['form_valid'])) //checking is form is submitted
{
   foreach($result_array as $result)
   {
      if($result == $_REQUEST[$j])  <<<< ERROR
      {
        $final_array[$j] = $result;
      }
   }
 }

Surprisingly, this code does not work at all.
The error message is "Notice : Undefined offset: 0", then offset 1 then 2 etc ...
The line where the message says theres an error is the marked one.

I really have no idea how to do this. Someone ? =)

  • 写回答

1条回答 默认 最新

  • dougou7782 2014-07-10 01:19
    关注

    Don't try to do it this way, this just makes it hard to process, just use a grouping name array: name="checkboxes[<?php echo $i; ?>]", then on the submission, all values that are checked should simply go to $_POST['checkboxes']. Here's the idea:

    <!-- form -->
    <form action="" method="POST">
    <?php while($line = $results->fetch()): ?>
        <input type="checkbox" class="checkbox" name="nid[<?php echo $line->nid; ?>]" value="<?php echo $line->nid; ?>" /><?php echo $line->title; ?><br/>
    <?php endwhile; ?>
    <input type="submit" name="submit" />
    

    PHP that will process the form:

    if(isset($_POST['submit'], $_POST['nid'])) {
        $ids = $_POST['nid']; // all the selected ids are in here
        // the rest of stuff that you want to do with it
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛