Escribí un script sencillo y trate de comentarlo lo mejor posible, sinceramente espero que le sirva.
Nota: TODO significa 'por hacer', en otras palabras, que se debería completar el script con lo comentado.
Código PHP:
Ver original<?php
// Verifica que el formulario se ha recibido, de lo contrario muestra el formulario.
if(isset($_POST['enviar'])) {
// Inicia variables para su posterior utilización.
$usuario = $_POST['usuario'];
$contrasena = $_POST['contrasena'];
// Esta variable se carga si se recibe un error
$error = '';
$error .= '<p>Debe escribir un usuario</p>';
$error .= '<p>Debe ingresar una contraseña</p>';
// Si no hay errores se valida al usuario
// TODO: Sustituir por validacion a través de base de datos.
if($usuario == 'demo' && $contrasena == 'demo'){
// TODO: Registrar sesion (http://php.net/manual/es/features.sessions.php)
// Redirige al usuario
header('Location: index2.php'); }
// Si no se reconoce al usuario, imprime error.
else{
$error = '<p>El usuario no existe o la contraseña es incorrecta</p>';
}
}
}
?>
<?php
// Si existen errores se imprimen
print '<div class="error">'.$error.'</div>';
}
?>
<!-- Formulario para identificar al usuario -->
<form action="<?php $_SERVER['PHP_SELF'] ?>" method="post">
<label>Usuario</label>
<input name="usuario" type="text">
<label>Contraseña</label>
<input name="contrasena" type="password">
<input name="enviar" value="Enviar" type="submit">
</form>