首页 文章

包含php变量的$ _POST []数组错误

提问于
浏览
0

我试图在$ _POST []中内爆一个数组 . 我在循环中执行此操作,在~31个数组中搜索值... $ _ POST ['1'],$ _POST ['2'],$ _POST ['3']等 .

我试图这样做:

while($i <= $_SESSION['daysInMonth']){

$month = $_SESSION['month'];
$day = $i;
$names = implode(',',$_POST['names_'.$i]);
$region = $_SESSION['region'];
$date = date("Y").'-'.$month.'-'.$day;

echo("$names");

$i++;

}

我收到以下错误:

警告:implode()[function.implode]:第15行/home/content/r/e/s/reslife4/html/duty/schedule.php中传递的参数无效

这是我创建$ _POST []变量的方法:

<?php $i=1; while($i <= $daysInMonth){?>
            <table align="center" style="width: 435px">
                <tr>
                    <td class="style1"><p><select name="names_<?php echo($i); ?>[]" multiple="multiple">
                    <?php foreach($email_array as $arr){ ?>
                        <option><?php echo($arr); ?></option>
                    <?php } ?>
                    </select></p></td>
                </tr>
            </table>
<?php $i++; }?>

谁能看到我做错了什么?

谢谢!

3 回答

  • 2

    如果您将除数组之外的其他内容作为第二个参数传递给内爆(例如,未选择任何选项时),您将收到警告 . 你可以有条件地崩溃:

    if (!empty($_POST['names_'.$i])) 
    // implode
    

    或者转换为数组:

    $names = implode(',', (array)$_POST['names_'.$i]);
    
  • 0
    <select name="names[]" multiple="multiple">  
    <option value="<?php echo($arr); ?>"><?php echo($arr); ?></option>  
    
    <?php foreach($_POST['names'] as $key => $value):  
        echo $value;  
    ?>
    
  • 0
    while($i <= $_SESSION['daysInMonth']){
        $names = (array)$_POST['names_'.$i];
        $month = $_SESSION['month'];
        $day = $i;
        $names = implode(',',$names);
        $region = $_SESSION['region'];
        $date = date("Y").'-'.$month.'-'.$day;
    
        echo("$names");
    
        $i++;
    }
    

相关问题