duan198123 2014-06-13 12:52
浏览 31
已采纳

Yii Parse错误:语法错误,意外'if'(T_IF),期待函数(T_FUNCTION)

Can you guys please help me with this random error? I am using yii and getting the above error. This is the form from my view file:

<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'symptomhistory-form',
'enableAjaxValidation'=>false,


)); ?>
    <?php echo $form->errorSummary($model); ?>
    <br/>
    <?php echo $form->textField($model,'symptomCode', array('id'=>'symptomToBeSearchedCode')); ?>
    <?php echo $form->error($model,'symptomCode'); ?>
    <br/>
    <?php echo $form->textField($model,'symptomTitle', array('id'=>'symptomToBeSearchedTitle')); ?>
    <?php echo $form->error($model,'symptomTitle'); ?>
    <br/>
    <?php $this->widget('zii.widgets.jui.CJuiDatePicker',
        array(
            'model'=>$model,
            'attribute'=>'dateSymptomFirstSeen',
            'id'=>'dateSymptomSeen',
            'options'=>array(
                            'showAnim'=>'fold',
                            'dateFormat'=>'yy-mm-dd', //date format set to be compatible with database
                        ),
            'htmlOptions'=>array(   
                            'style'=>'height:20px;'
                        ),


    )); ?>
    <?php echo CHtml::submitButton('Search Symptom(s)', array('name'=>'search'));  ?>
    <?php echo CHtml::submitButton('Add Another Symptom to Search', array('id'=>'addSymptom', 'name'=>'add'));  ?>
</div>

And this is my controller's action:

public function actionSearch()
{
    //initial model creation
    if(!isset($model))
    {
        //initiliaze varaiable to keep count of active records to be created
        $modelCounter=0;
        //initialize empty model array for SymptomHistory ActiveRecords 
        $model=array();
        //initialize empty array for Symptom titles
        $symptomTitles=array();
        $model[$modelCounter]=new Symptomhistory;
    }


    // Uncomment the following line if AJAX validation is needed
    // $this->performAjaxValidation($model);


    if(isset($_POST['search']))
    {

        //populate symptom search model attributes with user id, current date, and form input
        $model[$modelCounter]->setAttributes(array(
                                'user_id'=>Yii::app()->user->id,
                                'dateSearched'=>date('Y-m-d'),
                                'symptomCode'=>$_POST['Symptomhistory']['symptomCode'],
                                'dateSymptomFirstSeen'=>$_POST['Symptomhistory']['dateSymptomFirstSeen'],
                                'symptomTitle'=>$_POST['Symptomhistory']['symptomTitle'],
                                 ));

        //save models
        foreach($model as $symptomHistoryModel)
        {
            $symptomHistoryModel->save();
        }

        $this->redirect(array('disease/index', 'symptomCode'=>$_POST['Symptomhistory']['symptomCode'])); 
        }
    }

    if(isset($_POST['add']))
    {
        //populate symptom search model attributes with user id, current date, and form input
        $model[$modelCounter]->setAttributes(array(
                                'user_id'=>Yii::app()->user->id,
                                'dateSearched'=>date('Y-m-d'),
                                'symptomCode'=>$_POST['Symptomhistory']['symptomCode'],
                                'dateSymptomFirstSeen'=>$_POST['Symptomhistory']['dateSymptomFirstSeen'],
                                'symptomTitle'=>$_POST['Symptomhistory']['symptomTitle'],
                                 ));
        //increase counter
        $modelCounter++;
        $model[$modelCounter]=new Symptomhistory;
        $this->refresh();
    }

    $this->render('search',array(
        'model'=>$model[$modelCounter],'symptomTitles'=>$symptomTitles
    ));
}

I am getting the error in the controller on line:

if(isset($_POST['add']))

Thank you for your help.

  • 写回答

1条回答 默认 最新

  • donglun2024 2014-06-13 12:54
    关注

    Take out the curly bracket after:

    $this->redirect(array('disease/index', 'symptomCode'=>$_POST['Symptomhistory']['symptomCode']));
    

    ... inside the if(isset($_POST['search'])) statement. Looks like the remnants of a previous version of your foreach loop.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 ensp路由器启动不了一直报#
  • ¥50 安卓10如何在没有root权限的情况下设置开机自动启动指定app?
  • ¥15 ats2837 spi2从机的代码
  • ¥200 wsl2 vllm qwen1.5部署问题
  • ¥100 有偿求数字经济对经贸的影响机制的一个数学模型,弄不出来已经快要碎掉了
  • ¥15 数学建模数学建模需要
  • ¥15 已知许多点位,想通过高斯分布来随机选择固定数量的点位怎么改
  • ¥20 nao机器人语音识别问题
  • ¥15 怎么生成确定数目的泊松点过程
  • ¥15 layui数据表格多次重载的数据覆盖问题