使用Yii 2.0.6显示任何内容

时间:2015-09-19 15:32:45

标签: php yii2

我使用的是YII 2.0.6基本版,三个文件的代码如下: -

模型文件即' UserForm.php'

namespace app\models;

    use yii\base\Model;

    class UserForm extends Model
    {
        public $name;
        public $email;

        public function rules()
        {
            return[
                    [['name','email'],'required'],
                    ['email','email']
                  ];
        }
    }

控制器文件即' SiteController.php'

public function actionUser()
    {
        $model = new UserForm;

        if($model->load(Yii::$app->request->post())&& $model->validate())
        {
            Yii::$app->session->setFlash('success','You have entered the data correctly.');
        }
        $this->render('user',['model'=>$model]);

和第三个视图文件即' user.php'

use yii\helpers\Html;
use yii\widgets\ActiveForm;

if(Yii::$app->session->hasFlash('success'))
{
   echo Yii::$app->getFlash('success');
}

$form = ActiveForm::begin()
<? $form->field($model,'name'); ?>
<? $form->form($model,'email'); ?>
<? Html::submitButton('Submit',['class' => 'btn btn-success']); ?>
ActiveForm::end()

我在浏览器中使用此链接来显示数据。我认为这个链接是正确的。

http://localhost/basic/web/index.php?r=site/user

当我转到此链接时,浏览器不显示任何内容,既不显示错误也不显示输出。

愿任何人帮帮我,问题出在哪里? 提前谢谢。

1 个答案:

答案 0 :(得分:2)

我认为您应该在actionUser

中使用return

这样:

public function actionUser()
{
    $model = new UserForm;

    if($model->load(Yii::$app->request->post())&& $model->validate())
    {
        Yii::$app->session->setFlash('success','You have entered the data correctly.');
    }
    return $this->render('user',['model'=>$model]);  // return here