Foros del Web » Programando para Internet » PHP »

PHP POO - Cómo acceder a variable de un método a otro?, en la misma clase

Estas en el tema de PHP POO - Cómo acceder a variable de un método a otro?, en la misma clase en el foro de PHP en Foros del Web. Hola, Tengo la clase Usuario en donde tengo, por el momento, 3 métodos: login(), nuevoUsuario() y existeUsuario(). existeUsuario() se encarga de hacer un select para ...
  #1 (permalink)  
Antiguo 26/10/2013, 16:32
Avatar de reborn  
Fecha de Ingreso: febrero-2010
Mensajes: 440
Antigüedad: 14 años, 2 meses
Puntos: 1
PHP POO - Cómo acceder a variable de un método a otro?, en la misma clase

Hola,

Tengo la clase Usuario en donde tengo, por el momento, 3 métodos: login(), nuevoUsuario() y existeUsuario().

existeUsuario() se encarga de hacer un select para ver si encuentra alguna fila afectada y de ahi se confirma el login.

Con nuevoUsuario() quiero hacer lo mismo q con login(), solo q en nuevoUsuario() no me sirve de nada el password y por eso quiero verificar q no tenga el mismo email. Entonces mi idea es hacer el select en existeUsuario() y hacer un while para sacar el email y crear una variable y usarla en nuevoUsuario()

Consulta: se puede acceder a una variable de un método desde otro método?, me conviene hacer eso o me conviene hacer otro método similar a existeUsuario() para usarlo con nuevoUsuario()?

Código PHP:

<?php
require_once('Conexion.php');
require_once(
'Email.php');

class 
Usuario{

    private 
$_db;

    public function 
__construct(){

        
$this->_db = new Conexion();
        
$this->_db $this->_db->conectar();
    }

    
//----------------------------------------------------------------------------------------------------------------------------------------

    
    
public function login($user$pass){
        
        if(
$this->existeUsuario($user$pass) === TRUE){

             
session_start();
             
$_SESSION['user'] = $user;
             echo 
"Hola ".$user;

        }else{

             echo 
"No pasa nada";

        }
    }


    
//----------------------------------------------------------------------------------------------------------------------------------------


    //inserto nuevo usuario - ACA ES DONDE QUIERO USAR UNA VARIABLE EMAIL PARA VERIFICAR Q NO EXISTA Y LUEGO HACER EL INSERT.
//EL METODO existeUsuario() SOLO VERIFICA USUARIO Y CLAVE Y LA CLAVE NO ME SIRVE DE NADA EN EL REGISTRO, POR ESO QUIERO AGREGAR EL MAIL
    
public function nuevoUsuario($user$pass$email){
        
       if(
$this->existeUsuario($user$pass) === FALSE){

        
//generar clave
        
$clave md5(rand(1111,9999));
        try {
        
$this->_db->setAttribute(PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION);
        
$con $this->_db->prepare('INSERT INTO usuarios VALUES(:id, :name, :pass, :email, :confirm, :activo)');
        
        
$con->execute(array(
                
':id'         => '',
                
':name'     => $user,
                
':pass'     => $pass,
                
':email'     => $email,
                
':confirm'  => $clave,
                
':activo'     => '0',
          ));

          
//Envio de correo a nuevo usuario para activar cuenta        
                //$correo = new Email();
                //$correo->enviarEmail($email, $user, $clave);    
         //Fin envio de correo

        
        
} catch(PDOException $e) {
            echo 
'ERROR: ' $e->getMessage();
        }


        }else{

             echo 
"El nombre de usuario o email ya existe, elija otro.";

        }



    }

    
//----------------------------------------------------------------------------------------------------------------------------------------


    //compruebo si existe usuario y luego inicio sesion
    
private function existeUsuario($user$pass){
        
        
$con $this->_db->prepare("SELECT * FROM usuarios WHERE nombre = ? AND pass = ?");
        
$con->bindParam(1$user);
        
$con->bindParam(2$pass);
        
$con->execute();
        
//$con->setAttribute(PDO::FETCH_ASSOC);

        
if($con->rowCount() == 1){

            return 
TRUE;

        }else{
            
            return 
FALSE;
        }            

            
    }
    

}

Gracias
  #2 (permalink)  
Antiguo 26/10/2013, 17:02
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años
Puntos: 270
Respuesta: PHP POO - Cómo acceder a variable de un método a otro?, en la misma clase

A eso es a lo que se llama variable miembro de la clase.
  #3 (permalink)  
Antiguo 26/10/2013, 17:15
Avatar de reborn  
Fecha de Ingreso: febrero-2010
Mensajes: 440
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: PHP POO - Cómo acceder a variable de un método a otro?, en la misma clase

Ok, voy a buscar info. Gracias

Etiquetas: clase, poo, registro, select, usuarios, variable
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 02:06.