Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/12/2011, 11:49
rufus
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años
Puntos: 1
Respuesta: problema con logeo de contraseña y usuario

Para crear el usuario:

create.php

Código PHP:
<?php require("../../includes/session.php");?>
<?php 
//verificar_sesion(); ?>

<?php require_once("../../includes/initialize.php"); ?>


<?php
    
if(isset($_POST["username"]))
    {
        
$errores = array();
        
$errores array_merge($erroresvalidar_campos_obligatorios(array("username","password")));
        
$max_caracteres = array("username" => 50,"password" => 40);
        foreach(
$max_caracteres as $campo => $max)
        {
            if(
strlen($_POST[$campo])>$max)
            {
                
$errores[] = $campo;    
            }            
        }
        
        
$username =trim(preparar_consulta($_POST["username"]));
        
$password sha1(trim(preparar_consulta($_POST["password"])));
        
//$nombre = trim(preparar_consulta($_POST["nombre"]));
//        $apellido = trim(preparar_consulta($_POST["apellido"]));
        
        
if(empty($errores))
        {
            
$consulta "INSERT INTO usuarios (
                            username, password) VALUES (
                            '{$username}','{$password}')"
;
            
$resultado mysql_query($consulta);
            if(
$resultado)
            {
                
$mensaje "El usuario ha sido creado.";
            }
            else
            {
                
$mensaje "No se ha podido crear el usuario: " mysql_error();
            }
        }
        else
        {
            
$mensaje "Se han encontrado " count($errores) . " errores";
        }
    }
?>
<?php 
include("admin_header.php"); ?>
  <table id="estructura">
    <tr>
      <td id="menu">
      <a href="admin.php">Regresar al menú principal</a>
      </td>
      <td id="pagina">
          <h2>Crear nuevo usuario</h2>
        <?php if(isset($mensaje)) { echo "<p>" $mensaje "</p>"; } ?>
        <form action="create.php" method="post">
        <table>
            <tr>
                <td>Nombre de usuario:</td>
                <td><input type="text" name="username" /></td>
            </tr>
            <tr>
                <td>Contraseña:</td>
                <td><input type="password" name="password" /></td>
            </tr>           
        </table>
        <input type="submit" value="Crear usuario" />
        </form>
     </td>
    </tr>
  </table>
<?php require_once("admin_footer.php"); ?>
user.php

Código PHP:
<?php
require_once(LIB_DIR.SD."database.php");

class 
Usuario
{
    public 
$id;
    public 
$username;
    public 
$password;
    
    


    function 
validar_campos_obligatorios($campos_obligatorios)
    {
        
$errores = array();
        foreach(
$campos_obligatorios as $campo)
        {            
            if(!isset(
$_POST[$campo]) || (empty($_POST[$campo]) && !is_numeric($_POST[$campo])))
            {
                
$errores[] = $campo;
            }    
        }
        return 
$errores;
    }
    
    public static function 
buscar_por_id($id)
    {
        global 
$bd;
        
$matriz_usuarios self::buscar_por_sql("SELECT * FROM    usuarios WHERE id={$id}");
        return (!empty(
$matriz_usuarios))? array_shift($matriz_usuarios) : false;
    }
    
    
    public static function 
buscar_todos()
    {
        return 
self::buscar_por_sql(" SELECT * FROM    usuarios");
        
    
        
    }
    
    public static function 
buscar_por_sql($sql)
    {
        global 
$bd;
        
$resultado $bd->enviar_consulta($sql);
        
$matriz_usuarios = array();
        while(
$registro $bd->fetch_array($resultado))
        {
            
array_push($matriz_usuarios,Usuario::instanciar($registro));
        }
        return 
$matriz_usuarios;
    }
    
    public static function 
instanciar($registro)
    {
        
$usuario = new Usuario();
    
        foreach (
$registro as $propiedad => $valor)
        {
            if (
$usuario->propiedad_existe($propiedad))
            {
                
$usuario->$propiedad $valor;
            }
        }
        return 
$usuario;
    }
    
    public function 
nombre_completo()
    {
        if(isset(
$this->nombre) && isset($this->apellido))
        {
            return 
$this->nombre " " $this->apellido;
        }
        else
        {
            return 
"";
        }
    }
    
    
    public function 
propiedad_existe($propiedad)
    {
        
$propiedades get_object_vars($this);
        return 
array_key_exists($propiedad$propiedades);
    }
    
    public static function 
autenticar($username ""$password"")
    {
        global 
$bd;
        
$username $bd->preparar_consulta($username);
        
$password $bd->preparar_consulta($password);
        
        
$sql "SELECT * FROM usuarios ";
        
$sql .= " WHERE username='{$username}' ";
        
$sql .=" AND password='{$password}' ";
        
$sql .=" LIMIT 1";
        
        
$matriz_usuarios Usuario::buscar_por_sql($sql);
        return  (!empty(
$matriz_usuarios)) ? array_shift($matriz_usuarios) : false ;
    }
    
}
    

?>