我有问题在yii的后视图中发表评论

时间:2011-07-26 04:57:55

标签: php

我想在意见表和评论中提出意见。我遵循这个功能..

<?php if(Yii::app()->user->hasFlash('commentSubmitted')): ?>
        <div class="flash-success">
            <?php echo Yii::app()->user->getFlash('commentSubmitted'); ?>
        </div>
    <?php else: ?>
        <?php $this->renderPartial('/comment/_form',array(
            'model'=>$data,
        )); ?>

但现在显示错误.... 'htmlspecialchars()期望参数1为字符串,对象为'

'评论'下的'_form.php'是

<div class="form">

<?php $form=$this->beginWidget('CActiveForm', array(
    'id'=>'comment-form',
    'enableAjaxValidation'=>true,
)); ?>

    <p class="note">Fields with <span class="required">*</span> are required.</p>

    <?php echo $form->errorSummary($model); ?>

    <div class="row">
        <?php echo $form->labelEx($model,'content'); ?>
        <?php echo $form->textArea($model,'content',array('rows'=>6, 'cols'=>50)); ?>
        <?php echo $form->error($model,'content'); ?>
    </div>
<div class="row">
        <?php echo $form->labelEx($model,'author'); ?>
        <?php echo $form->textField($model,'author',array('size'=>60,'maxlength'=>128)); ?>
        <?php echo $form->error($model,'author'); ?>
    </div>

2 个答案:

答案 0 :(得分:0)

yii的'htmlspecialchars()的问题是期望参数1是字符串,给定的对象'是我们不知道是什么导致了这个错误。

我做了这个粗略的改变yii / web / helpers / CHTML.php: public static function encode($text) { if (is_object($text)){ echo __FILE__ ." ".__LINE__; var_dump($text); die(" This is an object, and it must be string!"); } else return htmlspecialchars($text,ENT_QUOTES,Yii::app()->charset); }

所以至少我知道该方法发送了什么对象。

答案 1 :(得分:0)

哎哟,不要改变核心类。

Yii活动记录模型粘贴到您的数据库表中。此警告消息的一个可能原因是您的db表不包含您尝试在表单中提供的所有列。

猜猜:)