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.