Yii Ошибка 400 Тонер CSRF не может быть проверен при попытке удалить сообщение

Когда я пытался удалить сообщение, я получил эту ошибку:

Yii Error 400 The CSRF token could not be verified 

Я не знаю, что именно вызывает это и к чему это может быть связано. вот мое действие delete:

  public function actionDelete($id) { if (Yii::app()->request->isPostRequest) { // we only allow deletion via POST request $this->loadModel($id)->delete(); // if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser if (!isset($_GET['ajax'])) $this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('admin')); } else throw new CHttpException(400, 'Invalid request. Please do not repeat this request again.'); } protected function afterDelete() { parent::afterDelete(); Image::model()->deleteAll('name='.$this->id); Date::model()->deleteAll('tbl_show_id='.$this->id); Press::model()->deleteAll('tbl_show_id='.$this->id); } -центр  public function actionDelete($id) { if (Yii::app()->request->isPostRequest) { // we only allow deletion via POST request $this->loadModel($id)->delete(); // if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser if (!isset($_GET['ajax'])) $this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('admin')); } else throw new CHttpException(400, 'Invalid request. Please do not repeat this request again.'); } protected function afterDelete() { parent::afterDelete(); Image::model()->deleteAll('name='.$this->id); Date::model()->deleteAll('tbl_show_id='.$this->id); Press::model()->deleteAll('tbl_show_id='.$this->id); } 

Кажется, вы включили проверку CSRF . Если вы хотите его использовать, прочитайте документ и убедитесь, что вы отправляете токен CSRF в каждом запросе POST.

У меня была такая же проблема, но следующие решили. Надеюсь, поможет. я добавил

 'params'=> array('YII_CSRF_TOKEN' => Yii::app()->request->csrfToken) 

к следующему коду:

 <?php echo CHtml::linkButton('Delete',array( 'submit'=>$this->createUrl('delete',array('id'=>$model->id)), 'confirm'=>"Are you sure want to delete ".$item->product->name."from the shopping cart?", 'params'=> array('YII_CSRF_TOKEN' => Yii::app()->request->csrfToken))); ?> 

Благодарю.

CSRF будет продолжать давать вам эту ошибку, потому что вы удаляете URL-адрес (GET)

Чтобы использовать проверку CSRF, вы должны сделать свой запрос, используя действительную форму, которая генерирует токен CSRF и отправляет его с каждым сообщением.

Поиск: Yii CForm