Laravel中未定义的索引,使用javascript创建的数组

时间:2014-05-25 11:08:53

标签: javascript php laravel-4 phpexcel

我有一个动态表单创建excel文件(PHPExcel类)并通过电子邮件(SwiftMailer)作为附件发送。

在我看来,我使用javascript创建新的输入/文件数组块。 1,2,3 .... 15

<script type="text/javascript">

                $(document).on('ready', function() {

                    //Yeni ürün ekleye tıklandığında, visible olmayan formu visible yap
                    $('.yeniekle').on('click', function() {

                        if( $('#iterable2').css('display') === 'none') {
                            $('#iterable2').css('display', 'block');
                            return;
                        }

                        if( $('#iterable3').css('display') === 'none') {
                            $('#iterable3').css('display', 'block');
                            return;
                        }

                        if( $('#iterable4').css('display') === 'none') {
                            $('#iterable4').css('display', 'block');
                            return;
                        }

                        if( $('#iterable5').css('display') === 'none') {
                            $('#iterable5').css('display', 'block');
                            return;
                        }

                        if( $('#iterable6').css('display') === 'none') {
                            $('#iterable6').css('display', 'block');
                            return;
                        }

                        if( $('#iterable7').css('display') === 'none') {
                            $('#iterable7').css('display', 'block');
                            return;
                        }

                        if( $('#iterable8').css('display') === 'none') {
                            $('#iterable8').css('display', 'block');
                            return;
                        }

                        if( $('#iterable9').css('display') === 'none') {
                            $('#iterable9').css('display', 'block');
                            return;
                        }

                        if( $('#iterable10').css('display') === 'none') {
                            $('#iterable10').css('display', 'block');
                            return;
                        }

                        if( $('#iterable11').css('display') === 'none') {
                            $('#iterable11').css('display', 'block');
                            return;
                        }

                        if( $('#iterable12').css('display') === 'none') {
                            $('#iterable12').css('display', 'block');
                            return;
                        }

                        if( $('#iterable13').css('display') === 'none') {
                            $('#iterable13').css('display', 'block');
                            return;
                        }

                        if( $('#iterable14').css('display') === 'none') {
                            $('#iterable14').css('display', 'block');
                            return;
                        }

                        if( $('#iterable15').css('display') === 'none') {
                            $('#iterable15').css('display', 'block');
                            return;
                        }

                        alert("Sadece 15 tane ek ürün girebilirsiniz!")
                        return false;
                    });

                    $('#btnid2').on('click', function() {
                        $('#iterable2').css('display', 'none');
                    });

                    $('#btnid3').on('click', function() {
                        $('#iterable3').css('display', 'none');
                    });

                    $('#btnid4').on('click', function() {
                        $('#iterable4').css('display', 'none');
                    });

                    $('#btnid5').on('click', function() {
                        $('#iterable5').css('display', 'none');
                    });

                    $('#btnid6').on('click', function() {
                        $('#iterable6').css('display', 'none');
                    });

                    $('#btnid7').on('click', function() {
                        $('#iterable7').css('display', 'none');
                    });

                    $('#btnid8').on('click', function() {
                        $('#iterable8').css('display', 'none');
                    });

                    $('#btnid9').on('click', function() {
                        $('#iterable9').css('display', 'none');
                    });

                    $('#btnid10').on('click', function() {
                        $('#iterable10').css('display', 'none');
                    });

                    $('#btnid11').on('click', function() {
                        $('#iterable11').css('display', 'none');
                    });

                    $('#btnid12').on('click', function() {
                        $('#iterable12').css('display', 'none');
                    });

                    $('#btnid13').on('click', function() {
                        $('#iterable13').css('display', 'none');
                    });

                    $('#btnid14').on('click', function() {
                        $('#iterable14').css('display', 'none');
                    });

                    $('#btnid15').on('click', function() {
                        $('#iterable15').css('display', 'none');
                    });

                });

                </script>

一切都很好,直到第7个btn。但如果我加上第8名。 Laravel给我一个警告

  

未定义的索引:iterable8_resim

     

iterable8_resim

是一个数组,我的控制器如下:

$currChar2 = 'C'; //Harfler
        $iterableCount = 10; //Excelde kaç basamak atlayacağı
        $satir = 9;
        for($i = 2; $i <= 16; $i++)
        {
            foreach($input["iterable{$i}_resim"] as $k => $v)
            {
                $workbook->getActiveSheet()->SetCellValue('I'.($satir+1), $input["iterable{$i}_adi"]); 
                $workbook->getActiveSheet()->SetCellValue('K'.($satir+1), $input["iterable{$i}_adet"]); 
                $workbook->getActiveSheet()->SetCellValue('M'.($satir+1), $input["iterable{$i}_fiyat"]); 
                $workbook->getActiveSheet()->SetCellValue('A'.($satir+1), $input["iterable{$i}_stok"]); 

                if(is_object($v) === true) //Eğer bir resimse
                {
                    $objDrawing = new PHPExcel_Worksheet_Drawing();
                    $objDrawing->setName("name");
                    $objDrawing->setDescription("Description");
                    $objDrawing->setPath($_FILES["iterable{$i}_resim"]["tmp_name"][$k]);
                    $objDrawing->setCoordinates($currChar2 . $iterableCount);
                    $objDrawing->setHeight(65);
                    $objDrawing->setWorksheet($objWorksheet);


                    $currChar2++;
                    $currChar2++;
                }


             }

             $satir+=4;
             $currChar2='C';
             $iterableCount +=4;
        }

Laravel在

上显示错误
{
            foreach($input["iterable{$i}_resim"] as $k => $v)
            {

我不知道为什么我会收到此错误。 任何帮助都会受到很大的关注。

1 个答案:

答案 0 :(得分:1)

我找到了解决方案。这是关于php.ini设置

  

max_file_uploads

我们现在增加了设置问题。