doushizhou4477 2015-04-30 08:48
浏览 59

Laravel(4.2)形式:文本问题:htmlentities()期望参数1为字符串

I've got a view in my Laravel app (4.2) that is for editing a database record.

I'm storing two values - colour and heading - as arrays using the form::text method:

@foreach($colours as $key => $value)
    {{ Form::label('heading_' . $key,'Heading ' . ($key + 1)) }}                            
    {{ Form::text('heading[]', '', ['id' => 'heading_' . $key, 'class' => 'u-full-width']) }}
    {{ Form::label('colour_' . $key,'Colour ' . ($key + 1)) }}
    {{ Form::text('colour[]', $value, ['id' => 'colour_' . $key, 'class' => 'u-full-width']) }}
@endforeach

The initial edit form is fine but if I experience an issue (for example a field being empty) when I return to the original view (through our controller) it throws the following error:

htmlentities() expects parameter 1 to be string, array given

Bizarrely, it works fine for the colour[] fields but seems to be throwing an error for the heading[] fields.

Any thoughts on why this might be happening?

Cheers

Cole

  • 写回答

1条回答 默认 最新

  • dongqiyang3711 2015-04-30 08:59
    关注

    You get the error htmlentities() expects parameter 1 to be a string, array given because the [] appended to heading and colour make them an array in HTML and when POSTed.

    You're better off doing something like this (in PHP, in your controller, when you submit):

    $colourArray = [];
    
    foreach(Input::get('colours') as $colour) {
        array_push($colourArray, htmlentities($colour));
    }
    

    Then you'll have stripped colours in the $colourArray.

    I haven't actually tested this, but I hope it makes sense.

    评论

报告相同问题?

悬赏问题

  • ¥15 用hfss做微带贴片阵列天线的时候分析设置有问题
  • ¥50 我撰写的python爬虫爬不了 要爬的网址有反爬机制
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥120 计算机网络的新校区组网设计
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等