Redirect Mal Formado

Hola foro,

por que este redirect:


$this->redirect(array('creadas','id'=>'1,2'));

queda así:


solicitudes/creadas&id=1%2C2

cómo lo debo armar ?

Gracias, Saludos.

No estoy claro de lo que deseas lograr pero "%2C" es el valor ASCII de la coma (,) entre los valores 1 y 2.

Gracias, disculpa estaba fuera de línea…

y por que "1,2" me lo transforma en "1%2C2" ? o cómo lo evito ?

Saludos.

Esa es la codificación que hace según el parámetro ‘id’=>‘1,2’ que envías; es una traducción literal ya que la definicion de redirect explica que los parámetros GET son individuales.

1,2 q es? un número, dos valores separados por una coma?????

Un saludo.

Hola, sería así:

[size="2"]


$this->redirect(array('creadas','id'=>CHtml::encode('1,2'));

[/size]

Y luego cuando recojas los valores así

[size="2"]


$valor = CHtml::decode($id);

[/size]

Saludos

Ya el webserver está haciendo eso al devolver "1%2C2" así que aunque aconsejable parece que no es necesario.

Este sí es necesario para recuperar el "1,2".

Sin saber la intención es difícil determinar qué hacer. De cualquier manera si la intención es devolver 2 valores entonces debes usar un arreglo:


$this->redirect(array('creadas',array('id1'=>'1','id2'=>'2')));

Tengo un código en una acción del controlador que crea uno o varios registros, esos que se crearon los quiero mostrar en una vista (sólo los IDS) filtrados en un grid.

Si guardo en una cadena los ids creados "1,2,…etc" al hacer el redirect me quedan "1%2C2".

En el grid lo uso de esta manera:




<?php $this->widget('zii.widgets.grid.CGridView', array(

	'id'=>'solicitudes-grid',

	'dataProvider'=>$model->creadas($id),  <<< --------

	'filter'=>$model, ...

Gracias a los dos.

Buenas.

Entonces debes hacer lo q te dijo JFReyes.




$this->redirect(array('creadas',array('id1'=>'1','id2'=>'2')));



Un saludo.

Yo haría algo como esto:




$this->redirect(array('creadas', array('id[0]'=>'1','id[1]'=>'2')));



De esta manera, el “id” recibido es un array con los datos :)