Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/11/2007, 00:02
Avatar de cesar54321
cesar54321
 
Fecha de Ingreso: noviembre-2007
Mensajes: 16
Antigüedad: 17 años, 4 meses
Puntos: 0
Pregunta Ayuda con POO en php aplicado a un sistem de login

Hola que tal, pues iniciando en el mundo de php, no les voy a decir que soy novato en esto para variar, solo tengo un mese practicando con php. Pues empiezo,
con lo clasico un sistema de login, y pues ya he visto las opciones para hacer esto las implementaciones que se pueden hacer con session_start() o con la cookies, en fin me decidi por las sesiones.
Uso un formulario en html

Mi index.html
-------------------------------------------------------------------------------------
Código HTML:
<form action='control.php' method='post'>
<p>user: <input type='text' name='user' size='20'></p>
<p>pass: <input type='password' name='pass' size='10'></p>
</form> 
--------------------------------------------------------------------------------------

control.php
--------------------------------------------------------------------------------------
Código PHP:
include_once('Clase.php');
$user strtolower(stripslashes($_POST["user"]));
$passstrtolower(stripslashes($_POST["pass"]));

$objeto = new Clase($user,$pass);
if(
$objeto->Conexion()==true)
{
session_start();
$_SESSION["el_objeto"] = $objeto;
$_SESSION["Mi_id"]= md5($pass);
header("Location:aplicacion.php");
}
else
{
    
header("Location:index.html");

---------------------------------------------------------------------------------------
Clase.php
---------------------------------------------------------------------------------------
Código PHP:
class Clase{
var 
$user;
var 
$pass;
var 
$host;
var 
$base;
var 
$connect;
function 
Clase($user,$pass)
{
$this->user=$user;
$this->pass=$pass;
$this->host="el_host";
$this->base="la_base";
}

function 
Conexion()
{
$this->connect = @mysql_pconnect($this->host,$this->user,$this->pass);
if(!
$this->connect)
{
return 
false;
exit();
}
else
{
if(!@
mysql_select_db($this->base,$this->connect))
{
return 
false;
exit();
}
return 
true;
}
}

//hay mas funciones dentro de la clase

---------------------------------------------------------------------------------------

bueno dentro de mi pagina de aplicacion antes de cargar creo un pequeño candado
---------------------------------------------
Código PHP:
include_once("Clase.php")
session_start();
if(!isset(
$_SESSION["el_objeto"]))
{
header("Location:index.html");

--------------------------------------------------------------------
si esto no se cumple pues sigue la carga normal de la pagina y ya el usuario esta autentificado en la base datos y ya puede navegar en la aplicacion con un poco de seguridad y claro con el objeto otravez podemos hacer consultas y toda la cosa.

Pues aqui mi duda es si por cada usuario que llegue a ingresar a la aplicacion es logico que se instancie el objeto tantas veces como sea necesario de la clase, pero los datos de la sesion se sobreescribirian o se genera una sesion por cada objeto que se crea.

es decir el objeto(user1,pass) se creo y se genera la sesion y el objeto se almacena como variable de la sesion y ya el user1 anda en la aplicacion, pero ingresa un user2 se vuelve a crear un nuevo objeto(user2,pass), se crea su sesion y se almecena el objeto como variable de sesion. Los datos del user1 se perderian o que pasaria en este caso, el user1 ya no podria realizar consultas,. le agradeceria que me dieran algun sugerenncia con estos, pues me trae mareado este problema.

Gracias