Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/09/2011, 17:40
Avatar de lohenzoo
lohenzoo
 
Fecha de Ingreso: septiembre-2011
Ubicación: Ciudad Juarez, Chihuahua
Mensajes: 26
Antigüedad: 12 años, 7 meses
Puntos: 5
Busqueda sesiones se destruyen al cambiar de pagina dentro del mismo sitio.

Tengo un grande problema, que ya me ha causado dolor de cabeza, estoy creando un sistema de acceso a travez de usuario y contraseña pero a la hora de crear las sesiones que guardan los datos del que ingresa parece que todo queda bien, pero al cambia de pagina dentro del mismo sitio, ya no exiten las sesiones. Les pido si pueden echarle un vistazo al codigo y decirme que estoy haciendo mal. Gracias!

este es el archivo lhh.class.login.php, donde tengo las clases de conexion e inicio de sesion.

Código PHP:
class Connection {

        private 
$host;
        private 
$user;
        private 
$pass;
        private 
$data;
        private 
$connection;

        public function 
setParams($_host,$_user,$_pass,$_data) {
                
$this->host $_host;
                
$this->user $_user;
                
$this->pass $_pass;
                
$this->data $_data;
        }

        public function 
conn() {
                
$this->connection mysql_connect($this->host,$this->user,$this->pass);
                if (
$this->connection): $database mysql_select_db($this->data);return true;
                else: return 
false; endif;
        }

        public function 
closeConn() {
                
mysql_close($this->connection);
        }

}

class 
Login {

        private 
$user;
        private 
$pass;

        public function 
setLogin($_user,$_pass) {
                
$this->user $_user;
                
$this->pass $_pass;
        }

        public function 
login() {
                
$query sprintf("select * from users where user='%s' and pass='%s'",
                        
mysql_real_escape_string($this->user),
                        
mysql_real_escape_string($this->pass));
                
$result mysql_query($query);
                
$data mysql_fetch_assoc($result);

                if (
$data['user'] == $this->user && $data['pass'] == $this->pass):
                        
session_start();
                        
$_SESSION['user_id'] = $data['user_id'];
                        
$_SESSION['user'] = $data['user'];
                        
$_SESSION['pass'] = $data['pass'];
                        
$_SESSION['name'] = $data['f_name'];
                        
$_SESSION['last'] = $data['l_name'];
                        
$_SESSION['mail'] = $data['email'];
                        return 
true;
                else:
                        return 
false;
                endif;
        }



este es el archivo login.php que llamo a traves de ajax para iniciar la sesion.

Código PHP:
include('lhh.class.login.php');
include(
'config.php');

$con = new Connection;
$con->setParams($db_host,$db_user,$db_pass,$db_data);
$con->conn();

if (
$con->conn()): echo('conectado'); else: echo('no se pudo conectar'); endif;

$username $_REQUEST['user'];
$password $_REQUEST['pass'];

$login = new Login;
$login->setLogin($username,$password);
$login->login();

echo(
$_SESSION['pass']); 

el archivo config.php solo son los datos de conexion. ($host,$user,$pass,$data)

El proceso es el siguiente:

En el archivo index.php tengo un formulario donde pide usuario y contraseña, una vez que el usuario da click en enviar, este a travez de un script de jquery manda llamar login.php usando ajax, en y en ese momento me crea la variables de sesion, pero en cuanto recargo la pagina, ya existe ninguna sesion.

Espero su ayuda.