Saltar al contenido

cómo pasar una variable de un controlador a otro en Code igniter

Basta ya de investigar por todo internet ya que has llegado al espacio exacto, tenemos la respuesta que deseas pero sin problema.

Solución:

Dependerá de las circunstancias. Si desea conservar los datos durante algún tiempo, entonces los datos de la sesión serían el camino a seguir. Sin embargo, si solo necesita usarlo una vez, los datos flash pueden ser más apropiados.

El primer paso sería inicializar la biblioteca de sesión:

$this->load->library('session');

Luego almacene la información en datos flash:

$this->session->set_flashdata('item', $myVar);

Finalmente, en el segundo controlador, obtenga los datos:

$myVar = $this->session->flashdata('item');

Obviamente, esto significaría que tendría que inicializar la biblioteca de sesión nuevamente desde el segundo controlador, o crear su propio controlador base que carga la biblioteca de sesión y hacer que ambos controladores hereden de ese.

Creo que en codeigniter no puedes pasar variables entre dos controladores diferentes. Un mecanismo obvio es usar datos de sesión.

Ok, aquí hay algo sobre MVC que la mayoría citará fácilmente:

Un controlador es para tomar entradas, un modelo es para su lógica y una vista es para mostrar.

Ahora, estrictamente hablando, no debería querer enviar datos de un controlador a otro. No puedo pensar en ningún caso en el que eso sea necesario.


Pero, si es absolutamente necesario, simplemente puede usar redirect para simplemente redirigir al otro controlador.

Algo como:

// some first_cont.php code here
redirect('/second_cont/valuereciever/value1')


// some second_cont.php code here
public function valureciever($value)
    echo $value; // will output value1

Si haces scroll puedes encontrar las interpretaciones de otros programadores, tú todavía eres capaz dejar el tuyo si dominas el tema.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *