Yii Framework Forum: Cookies - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Cookies Rate Topic: -----

#1 User is offline   Chema 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 17
  • Joined: 30-January 13
  • Location:Madrid, Spain

Posted 22 February 2013 - 09:50 AM

Hola a todos,
En mi pagina web puedo listar restaurantes buscando por lugar. Al hacer esto creo una cookie para guardar la información. Bien, también puedo mostrar una lista de restaurantes pasándole directamente una URL con las id's de cada restaurante. El problema viene que cundo hago esto, si he echo previamente una búsqueda me salen los restaurantes de la búsqueda anterior e ignora completamente las id's. Si hago 'unset' de esta cookie, ya sea en el controlador o en la vista, el problema sigue, pero si recargo la pagina ya si que obtengo los restaurantes correspondientes a las id's de la URL.
¿Hay alguna forma de hacer que el 'unset' de la cookie tenga efecto inmediato y no tener que recargar la pagina?

Dejo algo de codigo por si ayuda:
Controlador:
public function actionIndex()
	{
        $this->setPageTitle(Yii::t('search', 'page_title'));

        $model = new Search();
		
        if(isset($_GET['Search']))
        {
			$ifPlaceId='1';
            // collects user input data
            $model->attributes=$_GET['Search'];
			
            // validates user input
            if($model->validate()) {

                // Save search settings in cookie
                $cookie = new CHttpCookie('name', 'value');
                $cookie->expire = time()+60*60*24*180;

                $cookie->name = 'search_areaid';
                $cookie->value = $model->areaid;
                Yii::app()->request->cookies[$cookie->name] = $cookie;

            } else {
                Yii::app()->user->setFlash('error','Validated error');
            }
        }		
        else if (isset($_GET['places']))
        {
	    $ifPlaceId='0';
	    //unset(Yii::app()->request->cookies['search_areaid']);
            // Show restaurants in id list
            $model->showids = $_GET['places'];
        }

        $this->render('index',array(
            'model'=>$model,
			'ifPlaceId'=>$ifPlaceId
        ));
	}


Vista:
if ($ifPlaceId=='0'){
	unset(Yii::app()->request->cookies['search_areaid']);
}


Gracias y un saludo ^^
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users