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($errores, validar_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 ;
}
}
?>