2017-07-25 2 views
1

SiteControllerの次のコードはechoでうまく動作しますが、yii-setflash()ではうまく動作しません。多分、設定ファイル(main-local.php)を再設定する必要がありますか? 他のアイデアはどのようにsetflash()の仕事をしていますか?

public function actionScript() { //A new method, programmed by Thomas Kipp 
     $model = new myScriptForm(); 
     $fileName = 'file'; 
     $uploadPath = Yii::getAlias('@uploading'); 

     if (isset($_FILES[$fileName])) { 
      $file = \yii\web\UploadedFile::getInstanceByName($fileName); 

      if ($file->saveAs($uploadPath . '/' . $file->name)) { 
       echo"<script>alert('Hallo');</script>"; 
       //echo \yii\helpers\Json::encode($file); 
      } 
     } 
     if ($model->load(Yii::$app->request->post()) && $model->validate()) { 
      $model->fileImage = UploadedFile::getInstance($model, 'fileImage'); 
      $model->avatar = UploadedFile::getInstances($model, 'avatar'); 
      if ($model->fileImage) { 
       Yii::$app->session->setFlash('success', 'File has been uploaded'); 
       echo "<font size='4'><br><br><br><center>File <font color='red'> " 
       . "$model->fileImage<font color='black'> successfully uploaded." 
       . "<br>It's available in folder 'uploadedfiles' </font></font color></center>"; 
       $model->fileImage->saveAs(Yii::getAlias('@uploadedfilesdir/' . $model->fileImage->baseName . '.' . $model->fileImage->extension)); 
      } else { 
       Yii::$app->session->setFlash('error', 'There has nothing to be uploaded'); 
       echo"<font size='4'><br><br><br><center>No Upload-file selected.<br>" 
       . "Nothing moved into folder 'uploadedfiles'</font></center>"; 
      } 
      if ($model->avatar) { 
       $counter = 0; 
       foreach ($model->avatar as $avatar) { 
        Yii::$app->session->setFlash('success', 'Avatar has been uploaded'); 
        echo "<font size='4'><br><center>File <font color='red'> " 
        . "$avatar<font color='black'> successfully uploaded." 
        . "<br>It's available in folder 'uploadedfiles' </font></font color></center>"; 
        $avatar->saveAs(Yii::getAlias('@uploadedfilesdir/' . $avatar->baseName . $counter . '.' . $avatar->extension)); 
        $counter++; 
       } 
      } else { 
       Yii::$app->session->setFlash('error', 'There has nothing to be uploaded'); 
       echo"<font size='4'><br><center>No Upload-file selected.<br>" 
       . "Nothing moved into folder 'uploadedfiles' </font></center>"; 
      } 
      return $this->render('myScript', ['model' => $model]); 
     } else { 
      return $this->render('myScript_Formular', ['model' => $model]); 
     } 
    } 

答えて

1

あなたが例えばと値を代入したら:myScript.php あなたが適切

<?= Yii::$app->session->getFlash('error'); ?> 
+0

Thxをたくさんsetted値をエコー:

Yii::$app->session->setFlash('error', 'There has nothing to be uploaded'); 

はあなたのビューの例であることを確認してください。これは私の問題を解決しました! – tklustig

+0

@tklustigもし私の答えが正しいのであれば、受け入れられたものとしてマークしてください...こちらをどうぞ。 http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – scaisEdge

関連する問題