es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

flashdata no funciona en codeigniter. Obteniendo datos vacíos.

Estoy configurando algunos datos en una acción del controlador, pero no puedo obtenerlos en otra acción.

El usuario enviará un formulario desde la vista de la acción “add” y después el formulario se enviará a la acción “post”, pero aquí obtengo $check_id vacío. Funcionaba antes, pero cuando configuré todo el código en un servidor nuevo, dejó de funcionar.

public function add()
{
$this->session->set_flashdata(‘check_id’,$details[‘user_id’]);
$data[‘main’] = ‘test’;
$this->load->view(‘test/layout’, $data);
}

public function post()
{
$check_id = $this->session->flashdata(‘check_id’);
}

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema podría estar relacionado con la configuración del servidor. Por favor, revise si las variables de sesión se están estableciendo y recuperando correctamente por el servidor.

    Además, asegúrese de que la biblioteca de sesión se cargue correctamente en el constructor del controlador. Puede agregar la siguiente línea al principio de la clase del controlador.

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

    Si el problema persiste, también puede intentar cambiar el controlador de sesión en el archivo de configuración. Puede usar el controlador de base de datos en lugar del controlador de archivo para almacenar los datos de sesión y ver si funciona.

    Además, puede intentar agregar algún código de manejo de errores para ver si hay errores al establecer o recuperar los datos de sesión. Puede usar el siguiente código para verificar los errores.

    if(!$this->session->flashdata('check_id')) {
       echo "Error al establecer los datos de sesión";
    }
    
    if(!$check_id) {
       echo "Error al recuperar los datos de sesión";
    }
    

    ¡Espero que esto ayude!

Comments are closed.