my code stock.com

Clase para traer los datos del usuario

Snippet options

Download: Download snippet as datauser.php.
Copy snippet: For this you need a free my code stock.com account.
Embed code : You will find the embed code for this snippet at the end of the page, if you want to embed it into a website or a blog!

<?php 
require_once("database.php"); //Los datos de la conexión
session_start();

class dataUs{
    private $db;//esta almacena la conexión mysqli
    var $last_error;//aquí podemos poner el ultimo error conocido de mysqli. Para saber los errores en modo de programación.
    //Declaras los atributos que sean del usuario, solo pondré esos tres para este ejemplo
    var $username;
    var $password;
    var $nomrbe;
    
    function __construct($user = null){
        //Aquí el código normal que ya tienes
        $this->db = new mysqli(DB_HOST,DB_USER,DB_PASS,DB_NAME);
        if($this->db){
            if(isset($user)){
                $this->username = $user;
                $this->get_data();
            }
            return true;
        }
        return false;
    }
    
    function escapar($str){
        return $this->db->real_escape_string($str);
    }
    
    function login(){
        //verificamos si ya estan establecidos los parametros de usuario y contraseña
        if((isset($this->username))&&(isset($this->password))){
            //escapamos los valores:
            $u = $this->escapar($this->username);
            $p = $this->escapar($this->password);
            //creamos la consulta
            $sql = $this->db->query("SELECT * FROM usuarios WHERE username = '".$u."' AND password = '".$p."'");
            if($sql->num_rows == 1){ //verificamos que sea una fila el resultado.
                return true;//regresamos true indicando que todo se realizó correctamente
            }
        }
        return false;
    }
    
    function get_data(){
        //primero es verificar si ya se estableció el atributo username:
        if(isset($this->username)){
            $u = $this->escapar($this->username);//escapamos el valor del atributo
            //consultamos
            $sql = $this->db->query("SELECT * FROM us WHERE username = '".$u."'");
            //verificamos si existe una fila con el nombre de usuario preguntado
            if($sql->num_rows == 1){
                //ponemos los datos en un array assoc
                $assoc = $sql->fetch_assoc();
                //y le asignamos los valores a los parametros
                //en este caso el username ya no es necesario puesto que ya lo especificamos
                $this->password = $assoc["password"];
                $this->nombre = $assoc["nombre"];
                //etc.
                //y regresamos true para indicar que se realizó todo correctamente
                return true;
            }
        }
        return false;//en caso de que no sepamos cual es el username, no consultamos nada.
    }
    
    //funcion para hacer el insert en la tabla de usuarios
    function create(){
        //verificamos si ya se establecieron todos los atributos:
        if($this->isset_all()){
            //escapar los valores
            $this->escape_all();
            //crear la consulta:
            $cmd = "INSERT INTO usuarios VALUES (";
            $cmd .= "'".$this->username."', ";
            $cmd .= "'".$this->password."', ";
            $cmd .= "'".$this->nombre."');";
            //ejecutar la consulta
            $sql = $this->query($cmd);
            if($sql){//verificar si logró ejecutarse
                return true; 
            }else{
                $this->last_error = $sql->error;//almacenar el error
            }
        }
        return false;
    }
    
    function update(){
		if($this->isset_all()){
			$u = $this->escapar($this->username);
			$p = $this->escapar($this->password);
			$n = $this->escapar($this->nombre);
			$e = $this->escapar($this->email);
			
			$sql = $this->db->query("UPDATE usuarios SET username = '".$u."', password = '".$p."', nombre = '".$n."', email = '".$e."' WHERE username = '".$u."'");
			if($sql){
				return true;
			}
		}
		return false;
	}
    
    //funcion para verificar si ya están todos los parametros establecidos
    private function isset_all(){
        if(!isset($this->username)){
            return false;
        }elseif(!isset($this->password)){
            return false;
        }elseif(!isset($this->nombre)){
            return false;
        }
        return true;
    }
    
    // funcion para escapar todos los valores:
    private function escape_all(){
        $this->username = $this->escape($this->username);
        $this->password = $this->escape($this->password);
        $this->nombre = $this->escape($this->nombre);
    }
}

?>

Create a free my code stock.com account now.

my code stok.com is a free service, which allows you to save and manage code snippes of any kind and programming language. We provide many advantages for your daily work with code-snippets, also for your teamwork. Give it a try!

Find out more and register now

You can customize the height of iFrame-Codes as needed! You can find more infos in our API Reference for iframe Embeds.