【问题标题】:htmlspecialchars() expects parameter 1 to be string, array given in Yii 1htmlspecialchars() 期望参数 1 是字符串,Yii 1 中给出的数组
【发布时间】:2017-10-03 12:59:45
【问题描述】:

我试图从用户那里获得多项选择,但提交后我收到错误:

htmlspecialchars() 期望参数 1 是字符串,给定数组

<?php echo $form->labelEx($model, 'Books_read'); ?>
<div>
 <?php $opts = array('booka' => 'Book A', 'bookb' => 'Book  B', 'bookc' => 'Book C ', 'bookd' => 'Book D','booke' => 'Book E','bookf' => 'Book F');
    echo $form->checkBoxList($model, 'Books_read', $opts, array(
                  'class' => 'checkbox',
                'multipe' => 'multiple',
              'template' => '{input}{label}',
               'separator' => '<br/>',
              'labelOptions' => array('style' =>'margin: 2px 0px 2px 4px;'),
                                        'style' => 'float:left;',)); ?>

        </div>
      <?php echo form->error($model,'Books_read '); ?>
<div style="clear: both;"></div>

数据库中的数据类型:文本(适用于其他形式)

模型类:

protected function afterFind() {

        if ($this->isJSON($this->Books_read)) 
        {
            $this->Books_read = json_decode($this->Books_read);
        }

        return parent::afterFind();
    }

【问题讨论】:

  • 我对 Yii 不熟悉。但我可以告诉你,当下拉输入设置为多选时,发布日期作为数组返回。在代码中的某处,它将输入视为一个字符串,其中实际日期是一个数组。

标签: php yii


【解决方案1】:

如下编写表单元素:-

echo $form->checkBoxList(
  $model,
 'Books_read',
  $opts,
  'htmlOptions' => array( // add htmlOptions
    'labelOptions' => array(
       // code
    )
  )
);

【讨论】:

    猜你喜欢
    • 2017-03-22
    • 2018-08-04
    • 2018-02-22
    • 2018-11-10
    • 2017-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多