¡Hola! Otro mal día negro ha hecho que me ponga a hacer algún script en POO y me decanté por hacer este. Es un sistema de usuarios muy
facil y muy parecido al de G2K para que lo entendieseis. Si no sabes nada de PHP o POO, revisate un par de tutoriales antes de usas esto.
Dificultad: Media
Utilidad: Util
procesar.php
<?php
session_start();
include("conectar.php");
// Iniciamos el parametro para poder crear sessiones e incluimos el archivo conectar.php
class Usuarios
{
var $usuario;
var $error;
var $contar;
var $contra_bd;
// Se definen las variables que
var $contrase;
var $cuerpo;
var $error_n;
var $mysql;
// se van a usar despues
public function __construct($usuario_c,$contrase_c,$cuerpo_c){ // Con esta funcion, le damos los valores a las variables.
$this->usuario =
mysql_real_escape_string($usuario_c);
$this->contrase = mysql_real_escape_string($contrase_c);
$this->error =
"Usuario o contraseña incorrecto.";
$this->error_n =
"No existe ningún usuario así."
$this->mysql =
mysql_fetch_array(mysql_query("SELECT * FROM usuarios WHERE nombre = '".$this->usuario."'"));
$this->contra_bd = $this->mysql['pass'];
$this->contar =
mysql_num_rows($this->mysql);
$this->cuerpo =
$cuerpo_c;
}
public function Comprobar(){ // Aqui comprobamos si existe el usuario o si la contra es distinta o tal.
if($this->contar != 0){ // Si el usuario existe...
if($this->contra_bd == $this->contrase){ // Si la contra en la base de datos es igual a la escrita en el form....
$_SESSION['usuario'] = $this->usuario; // Se crea la session correspondiente
echo $this->cuerpo; // Cuerpo de la pagina que indicara Hola, que tal y esas chorradas jajaja.
} else { // Si la contraseña es distinta...
echo $this->error; // Muestra este error
}
} else { // Si no existe el usuario...
echo $this->error_n; // muestra este error.
}
}
}
$cuerpo_mensaje = "Hola ".$_SESSION['usuario'].""; // Esto será el mensaje que le saldrá al usuario si se ha logeado correctamente. Puedes modificarlo.
$llamar = new Usuarios($_POST['usuario'],$_POST['contra'],$cuerpo_mensaje); // Aplicamos los valores que vamos a usar en la clase usuarios.
echo $llamar->Comprobar(); // Llamamos a la funcion Comprobar para que nos diga el resultado.
?>
index.php
<form method="post" action="procesar.php">
<table width="273" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="123" align="center" class="Estilo1">Usuario</td>
<td width="150"><label>
<input name="usuario" type="text" id="usuario" />
</label></td>
</tr>
<tr>
<td align="center"><span class="Estilo1">Contraseña</span></td>
<td><label>
<input name="contra" type="text" id="contra" />
</label></td>
</tr>
<tr>
<td> </td>
<td><label>
<input type="boton" name="Submit" value="Entrar" />
</label></td>
</tr>
</table>
</form>
¡Pues ya está, solo debes cambiar los campos de la consulta a tus respectivos y funcionará! La verdad es que no lo he probado ya que en estos
momentos no cuento con un hosting con mysql "rápida" pero de seguro que funciona

. Si no funciona, solo me lo decis y ya está

.