Escribo aca mi codigo, busco consejos / criticas / mejoras / optimizacion / etc. Cualquier comentaario es bienvenido:
config.php
Código PHP:
<?php
/**
* @author Lucas M. Gonzalez
* @copyright 2009
* @email [email protected]
*/
#Base de Datos
$dbhost='localhost'; // Host de Base de Datos
$dbusuario='root'; // Usuario de la base de Datos
$dbpass='root'; // Contraseñia de la Base de Datos
$dbnombre='OOP'; // Nombre de la Base de Datos
$dbtableuser='usuarios'; // Nombre de la tabla de Usuarios
?>
Código PHP:
<?php
/**
* @author Lucas M. Gonzalez
* @copyright 2009
* @email [email protected]
*/
class User{
var $nomUsr;
var $pass;
var $nombre;
var $apellido;
var $email;
var $UserID;
var $db_HostName;
var $db_UserName;
var $db_PassWord;
var $db_DataBaseName;
var $db_TableName;
var $db_ConectarError;
var $db_SelectError;
var $db_ConID;
function __construct(){
// Datos de Configuracion General del sitio
require_once("includes/config.php");
// Tomo los datos de la BD
$this->db_HostName=$dbhost;
$this->db_UserName=$dbusuario;
$this->db_PassWord=$dbpass;
$this->db_DataBaseName=$dbnombre;
// Coneccion a la BD
$this->db_ConectarError = $this->ConectarDB();
$this->db_SelectError = $this->SelectDB();
}
function ConectarDB(){
$Retorno = 0;
$dbcon = @mysql_connect($this->db_HostName,$this->db_UserName,$this->db_PassWord);
if ($dbcon) {
// Conectado al Srv de BD
$this->db_ConID = $dbcon;
$Retorno = 1;
}
else{
// No se pudo Conectar al Srv de BD
$Retorno = 0;
}
return $Retorno;
}
function SelectDB() {
$Retorno = 0;
$Con = @mysql_select_db($this->db_DataBaseName,$this->db_ConID);
if ($Con) {
// Conectado a la BD
$Retorno = 1;
}
else {
// No se pudo Conectar a la BD
$Retorno = 0;
}
return $Retorno;
}
function GetDataUser($UserID){
$Query = "SELECT * FROM ".$this->db_TableName." WHERE id='".$UserID."'";
$SQLQuery=mysql_query($Query,$this->db_ConID);
if (mysql_num_rows($SQLQuery) == 1){
while ($row = mysql_fetch_array($SQLQuery)){
$this->nomUsr = $row['nomusr'];
$this->nombre = $row['nombre'];
$this->apellido = $row['apellido'];
$this->email = $row['email'];
}
return 1;
}
else{
return 0;
}
}
function LogUser($Usuario,$Pass){
$this->nomUsr=$Usuario;
$this->pass=$Pass;
require("includes/config.php");
$this->db_TableName=$dbtableuser;
$Retorno = 0;
$Query = "SELECT id FROM ".$this->db_TableName." WHERE nomusr='".$this->nomUsr."' AND password='".md5($this->pass)."'";
$SQLQuery=mysql_query($Query,$this->db_ConID);
//Tomo el ID del usuario para asi llamar a la funcion que toma los datos del usuario.
if (mysql_num_rows($SQLQuery) == 1){
while ($row = mysql_fetch_array($SQLQuery)){
$this->UserID = $row['id'];
}
$_SESSION['user']=$this->nomUsr;
$Retorno = $this->GetDataUser($this->UserID);
}
else{
$Retorno = 0;
}
return $Retorno;
}
}
?>
Código PHP:
<?php
include("class/class_login.php");
$oUser = new User();
if ($oUser->db_ConectarError == 0){
echo '<p> Error de coneccion al Servidor de BD</p>';
}
if ($oUser->db_SelectError == 0){
echo '<p> Error de coneccion a la BD</p>';
}
$Retorno = $oUser->LogUser($_POST['usuario'],$_POST['pass']);
if ($Retorno == 0){
echo '<p>Usuario o contraseña invalido';
}
else{
echo $oUser->nomUsr.'<br />';
echo $oUser->nombre.'<br />';
echo $oUser->apellido.'<br />';
echo $oUser->email;
}
?>
Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Iniciar Sesion</title> </head> <body> <form id="InicioSesion" method="post" action="procesa.php"> <p><label>Usuario</label> <input type="text" name="usuario" id="usuario" /> </p> <p><label>Contraseña</label> <input type="text" name="password" id="password" /> </p> <input type="submit" value="Enviar" /> </form> </body> </html>