mira te muesto como lo hago con la clase que hice capaz que les sirva:
Código PHP:
<?php
class usuario {
public $id;
public $login;
public $tipo ;
public $permiso;
public $email;
public $valor;
public function setUser($Euser,$Epass){
$com = self::checkUser($Euser,$Epass);
if($com==TRUE){
$data = self::GetUserInfo();
$this->id = $data[0];
$this->login = $data[1];
$this->tipo = $data[3];
$this->permiso = $data[4];
$this->email = $data[5];
$valor = DbConn::GetAllArr('permisos');
$this->valor = $valor[$data[4]][2];
$_SESSION['id'] = $data[0];
}else{
$this->login = false;
echo 'los datos no coinciden';
}
}
private function checkUser($Euser,$Epass){
global $DbConn;
$sql = "Select * From usuarios WHERE login='$Euser'";
$res = $DbConn->query($sql);
$data = $DbConn->fetchArray($res);
if($data['pass']==$Epass){
$this->login = $Euser;
return true;
}else{
return false;
}
}
public function GetUserInfo($id=''){
global $DbConn;
if($id==''){
$usuario = $this->login;
$sql = "Select * From usuarios WHERE login='$usuario'";
$res = $DbConn->query($sql);
$data = $DbConn->fetchArray($res);
}else{
$sql = "Select * From usuarios WHERE idUsuario='$id'";
$res = $DbConn->query($sql);
$data = $DbConn->fetchArray($res);
}
return $data;
}
compruebo los datos con una funcion de la clase si los datos son correctos guardo la id de session, fijate que tengo otra funcion que es GetUserInfo que con la ID puedo obtener el dato que necesito sin tener que guardar ninguna otra cosa entonces si quiero saber el nombre del usuario actual seria cuestion de hacer
Código PHP:
$datos = $usActual->GetUserInfo($_SESSION['id']);
$login = $datos['login'];
teniendo la clase cuando proceso el formulario pongo lo siguiente:
Código PHP:
if($_POST['check']=='ok'){
$usActual->setUser($_POST['usuario'],$_POST['pass']);
redirect($_SERVER['HTTP_REFERER']);
}
donde redirect es una funcion personalizada para no usar header location, ya que a veces necesito redireccionar a la misma pagina, te dejo tambien el codigo de la funcion por si te interesa
Código PHP:
function redirect($pagina){
echo
'<script type="text/javascript">
window.location="'.$pagina.'";
</script>';
}
es simple pero efectivo