2012-06-22 66 views
13

Cuando yo estaba tratando de borrar un mensaje que tengo este error:Yii Error 400 El token CSRF no pudo ser verificada al intentar eliminar el cargo

Yii Error 400 The CSRF token could not be verified 

no sé exactamente lo que está causando esto y a lo que podría estar relacionado. aquí está mi acción de eliminación:

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

Respuesta

8

Parece que haya habilitado CSRF validation. Si desea usarlo, lea el documento y asegúrese de enviar el token CSRF en cada solicitud POST.

1

CSRF le mantendrá dando este error, ya que está eliminando mediante una dirección URL (GET)

Con el fin de utilizar la validación CSRF, usted debe hacer su solicitud a través de una forma válida que genera el CSRF token y presenta con cada publicación.

de búsqueda: Yii CForm

18

que tenían el mismo problema pero los siguientes resuelto. Espero eso ayude. que añade

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

al siguiente código:

<?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))); 
?> 

Gracias.

Cuestiones relacionadas