2017-07-25 1 views
1

Der folgende Code in SiteController funktioniert gut mit echo, aber nicht mit yii-Methode setflash(). Vielleicht muss ich meine Konfigurationsdatei (main-local.php) neu konfigurieren? Irgendwelche anderen Ideen, wie setflash() seine Arbeit machen kann?

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]); 
     } 
    } 

Antwort

1

, sobald Sie den Wert mit zB zuweisen:

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

sicher sein, dass Ihrer Ansicht nach zB: myscript.php Sie richtig den Wert echo gefassten

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

Thx viel . Das hat mein Problem gelöst! – tklustig

+0

@tklustig gut, wenn meine Antwort richtig ist, bitte markieren Sie es als akzeptiert ... siehe hier http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – scaisEdge