Foros del Web » Programando para Internet » PHP »

Ayuda con PHP Orientado a Objeto.

Estas en el tema de Ayuda con PHP Orientado a Objeto. en el foro de PHP en Foros del Web. He realizado bien la Clase para poder obtener un numero de filas, pero no se como hacer para recuperar en un arreglo los datos de ...
  #1 (permalink)  
Antiguo 30/01/2011, 22:50
 
Fecha de Ingreso: septiembre-2010
Mensajes: 147
Antigüedad: 13 años, 7 meses
Puntos: 3
Ayuda con PHP Orientado a Objeto.

He realizado bien la Clase para poder obtener un numero de filas, pero no se como hacer para recuperar en un arreglo los datos de un usuario y retornarlos o de alguna mejor forma posible.

Código PHP:
Ver original
  1. <?php
  2.     //Se incluye la conexion con MySQL.
  3.     include_once 'Conexion.php';
  4.    
  5.     class Usuario{
  6.  
  7.         public $Query;
  8.         public $SQL;
  9.         public $Result;
  10.         public $numrows;
  11.         public $dbConectar;
  12.         public $dbCon;
  13.        
  14.         //Constructor
  15.         function __construct(){
  16.            
  17.             $this->Query        = "";
  18.             $this->SQL          = "";
  19.             $this->Result       = "";
  20.             $this->numrows      = "";
  21.             $this->dbConectar   = "";
  22.             $this->dbCon        = "";
  23.            
  24.         }
  25.        
  26.         //Verificamos si existe un email repetido.
  27.         function getEmail($email){
  28.  
  29.             try{
  30.                
  31.                 //Instanciamos la Clase Conexion para MySQL.
  32.                 $dbConectar     = new Conexion;
  33.                 $dbCon          = $dbConectar->conectarClasico();
  34.                
  35.                 //Inicia la transacción.
  36.                 mysql_query("BEGIN",$dbCon);
  37.                
  38.                 $this->SQL      = "SELECT * FROM registration WHERE email = '$email'";
  39.                 $this->Result   = mysql_query($this->SQL,$dbCon);
  40.                 $this->numrows  = mysql_num_rows($this->Result);
  41.                
  42.                 //Retorna un BOOLEAN : 0 = FALSE - 1 = TRUE
  43.                 return $this->numrows;
  44.                
  45.             }catch(Exception $e){
  46.                
  47.                 return $e;
  48.             }
  49.        
  50.         }
  51. }
  52.  
  53.  
  54.     //Instanciamos la Clase Usuario.
  55.     $metodo = new Usuario;
  56.  
  57.  
  58.     $comprobar = $metodo->getEmail($email); // Esto esta bien !
  59.  
  60.     if($comprobar != 0){
  61.         while($row = mysql_fetch_assoc($this->Result)){ // Esto no se como hacerlo desde la Clase
  62.             $dbname     = $row['name'];
  63.             $dbemail    = $row['email'];
  64.             $dbpassword = $row['password'];
  65.         }
  66.        
  67.         if($password == $dbpassword){
  68.        
  69.             //Ha inciadio Session Correctamente!.
  70.             $_SESSION['email']      = $dbemail;
  71.             $_SESSION['name']       = $dbname;
  72.             $_SESSION['password']   = $dbpassword;
  73.            
  74.         }else{
  75.             die("La contraseña del correo: $email es Invalida!.");
  76.         }
  77.    
  78.     }else{
  79.         die("No estás registrado!. Registrate <a target='_parent' href='/web/views/signupView.php'>aquí</a>");
  80.     }
  81. ?>

Espero que logren ayudarme :)

Última edición por ZeThito; 30/01/2011 a las 22:55
  #2 (permalink)  
Antiguo 31/01/2011, 00:24
 
Fecha de Ingreso: septiembre-2010
Mensajes: 147
Antigüedad: 13 años, 7 meses
Puntos: 3
Respuesta: Ayuda con PHP Orientado a Objeto.

Me respondo:

Al final logre avanzar con esto y lo hice de la sieguente forma:

Código PHP:
Ver original
  1. <?php
  2.  
  3.     //Se incluye la conexion con MySQL.
  4.     include_once 'Conexion.php';
  5.    
  6.     class Usuario {
  7.  
  8.         public $Query;
  9.         public $SQL;
  10.         public $Result;
  11.         public $numrows;
  12.         public $dbConectar;
  13.         public $dbCon;
  14.         public $Rows;
  15.         public $Registros;
  16.        
  17.         //Constructor
  18.         function __construct($Query=null, $SQL=null, $Result=null, $numrows=null, $dbConectar=null, $dbCon=null, $Rows=null, $Registros=array()){
  19.            
  20.             $this->Query        = $Query;
  21.             $this->SQL          = $SQL;
  22.             $this->Result       = $Result;
  23.             $this->numrows      = $numrows;
  24.             $this->dbConectar   = $dbConectar;
  25.             $this->dbCon        = $dbCon;
  26.             $this->Rows         = $Rows;
  27.             $this->Registros    = $Registros;
  28.            
  29.         }
  30.        
  31.         //Obtenemos el arreglo de los datos del usuario en MySQL.
  32.         function getLoginSession($email){
  33.            
  34.             try{
  35.                
  36.                 //Instanciamos la Clase Conexion para MySQL.
  37.                 $dbConectar     = new Conexion;
  38.                 $dbCon          = $dbConectar->conectarClasico();
  39.                
  40.                 //Realizamos la Consulta.
  41.                 $this->SQL      = "SELECT * FROM registration WHERE email = '$email'";
  42.                 $this->Result   = mysql_query($this->SQL,$dbCon);
  43.                
  44.                 while($row = mysql_fetch_assoc($this->Result)){
  45.                            
  46.                     array_push($this->Registros, $row['name']);
  47.                     array_push($this->Registros, $row['email']);
  48.                     array_push($this->Registros, $row['password']);
  49.                    
  50.                 }
  51.                
  52.                 //Cerramos la conexion.
  53.                 mysql_free_result($this->Result);
  54.                 mysql_close($dbCon);
  55.                
  56.                 //Retornamos el Arreglo.
  57.                 return $this->Registros;
  58.            
  59.             }catch(Exception $e){
  60.                
  61.                 //Cerramos conexion.
  62.                 mysql_close($dbCon);
  63.                 return false;          
  64.             }
  65.            
  66.         }
  67.        
  68.     }
  69.    
  70.     //Instanciamos la Clase Usuario.
  71.     $metodo = new Usuario;
  72.     //Verificamos si existe el email.
  73.     $comprobar = $metodo->getEmail($email);
  74.  
  75.     if($comprobar != 0){
  76.             //Instanciamos el método getLoginSession para obtener los datos de MySQL.
  77.             $fila       = $metodo->getLoginSession($email);
  78.            
  79.             $dbName     = $fila[0]; //name.
  80.             $dbEmail    = $fila[1]; //email.
  81.             $dbPassword = $fila[2]; //password.
  82.        
  83.         if($password == $dbPassword){
  84.        
  85.             //Ha inciadio Session Correctamente!.
  86.             $_SESSION['email']      = $dbEmail;
  87.             $_SESSION['name']       = $dbName;
  88.             $_SESSION['password']   = $dbPassword;
  89.            
  90.            
  91.         }else{
  92.             die("La contraseña del correo: $email es Invalida!.");
  93.         }
  94.    
  95.     }else{
  96.         die("No estás registrado!. Registrate <a target='_parent' href='/web/views/signupView.php'>aquí</a>");
  97.     }
  98.  
  99. ?>


Saludos. :)

Etiquetas: objeto, orientado
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:34.