Siempre que hagas un header('location: ...'); debes hacer un exit();, de lo contrario el script seguirá ejecutando hasta terminar el script por completo, en los códigos tienes varios errores muy básicos, si vas a comenzar con algo así te recomiendo que primero estudies HTML y PHP, de lo contrario vas a tropezar con cosas muy básicas muy seguido, y solo te frustrarás...
Código PHP:
Ver original<?php
if (isset($_POST['user']) && isset($_POST['pass'])) { if ($_POST['user'] == "usuario" && $_POST['pass'] == "contraseña") {
$_SESSION['autorizado'] = TRUE;
header ("Location: protegida.php"); } else {
$mensaje = "Nombre de usuario o contraseña incorrectos";
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<p>Introduce tu nombre de usuario y contraseña</p>
<?php echo isset($mensaje) ?
'<p>'.$mensaje.'</p>' : NULL; ?> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<fieldset>
<label>Usuario: <input name="user" type="text /></label>
<label>Contraseña: <input name="pass" type="password" /></label>
<input type="submit" value="Entrar" />
</fieldset>
</form>
</body>
</html>
Espero que al menos analices los cambios que he hecho y no solo hagas copy/paste....