Welcome Guest, Not a member yet? Register   Sign In
Problems with session userdata
#1

[eluser]Unknown[/eluser]
Hi there,
I'm new to CodeIgniter, I'm sorry if mine is a stupid question, but in the web I'm finding always the same examples that correspond to my code....I need help.
I'm having some problem developing a blog. When I log in I would like to retrieve $username and $user_image from session. There's no problem with the database because I get the data correctly in the model with an "echo alert..." but in the other page the session variables does not appear.

The controller is:
Code:
<?php
class Log_in extends CI_Controller {

    function __construct()
    {
        parent::__construct();
    }
    
    function login()
    {
        $this->load->helper('form');
        $this->load->library('form_validation');
        if(!isset($_POST['username'])){    //    Si no recibimos ningún valor proveniente del formulario, significa que el usuario recién ingresa.    
            $this->load->view('log_in_view');        //    Por lo tanto le presentamos la pantalla del formulario de ingreso.
        }
        else{                                //    Si el usuario ya pasó por la pantalla inicial y presionó el botón "Ingresar"
            $this->form_validation->set_rules('username','username','required');        //    Configuramos las validaciones ayudandonos con la librería form_validation del Framework Codeigniter
            $this->form_validation->set_rules('password','password','required');
            if(($this->form_validation->run()==FALSE)){                //    Verificamos si el usuario superó la validación
                $this->load->view('log_in_view');                            //    En caso que no, volvemos a presentar la pantalla de login
            }
            else{                                                    //    Si ambos campos fueron correctamente rellanados por el usuario,
                $this->load->model('log_in_model');
                $res=$this->log_in_model->ValidarUsuario($_POST['username'],$_POST['password']);    //    comprobamos que el usuario exista en la base de datos y la password ingresada sea correcta
                if(!$res){                          //    Si no logró validar
                    $data['error']="Nombre o password incorrectos, por favor vuelva a intentar";
                    $this->load->view('log_in_view',$data);    //    Lo regresamos a la pantalla de login y pasamos como parámetro el mensaje de error a presentar en pantalla
                    
              } else
            {                        
                    $username = $res['username'];
                    $imagen_usuario = $res['imagen_usuario'];
                          $this->session->userdata['user_data']['username'] = $username;
                          $this->session->userdata['user_data']['imagen_usuario'] = $imagen_usuario;
                    $this->session->userdata['user_data']['logged_in'] = TRUE;
                    $this->session->sess_write();
                    $this->load->view('benvingut_view');    

                }
            }
        }
    }
}
?>

the model is:

Code:
<?php
class Log_in_model extends CI_Model{

    function __construct()
    {
        parent::__construct();
    }

    function ValidarUsuario($username,$password){            //    Consulta Mysql para buscar en la tabla Usuario aquellos usuarios que coincidan con el mail y password ingresados en pantalla de login
        $query = $this->db->query("SELECT nombre_usuario,imagen_usuario FROM usuarios WHERE nombre_usuario = '".$username."' AND password_usuario = '".$password."'");
        $row = $query->result();
        if ($query->num_rows() > 0)
        {
               foreach ($query->result() as $row)
               {
                  $res['username'] = $row->nombre_usuario;
                 $res['imagen_usuario'] = $row->imagen_usuario;
               }
               return $res;
        }  else
        return FALSE;
    }
    
    function ValidarInvitado($peli)
    {
        $query = $this->db->where('titol_peli',$peli);
        $query = $this->get('peliculas');
        return $query->result();
    }
}
?>

and the view is:

Code:
<html>
<head>
<title>Benvingut a Vaig de Coolt</title>
</head>
<link rel="stylesheet" type="text/css" href="css/styles.css">
<body style="margin-top:0px">
<div class="Info">
    <h1 id="titulo" class="Titulo">Vaig de Coolt</h1>
    <p>&nbsp;</p>    
</div>
<div>
    <h2 id="subtitulo" class="Subtitulo">Benvingut a Vaig de Coolt!</h2>
    <div>
            <img >session->userdata['user_data']['imagen_usuario']?&gt;" alt="imatge avatar" />
            <p>&lt;?php $this->session->userdata['user_data']['username']?&gt;</p>
    </div>
</div>


&lt;/body&gt;
&lt;/html&gt;

Thanks in advance for helping me, I appreciate any suggest.
Bebo




Theme © iAndrew 2016 - Forum software by © MyBB