Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/03/2009, 20:09
kokoou
 
Fecha de Ingreso: enero-2008
Ubicación: Buenos Aires
Mensajes: 305
Antigüedad: 17 años
Puntos: 14
Mi primer Script

Bueno, acabo de hacer mi primer script en POO. Despues de leer la teoria y articulos sobre este tipo de programacion.

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

?>
class_login.php
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;
    }
}
?>
procesa.php
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;
    }
?>
index.html
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&ntilde;a</label>
      <input type="text" name="password" id="password" />
     </p>
     <input type="submit" value="Enviar" />
</form>
</body>
</html>