El ejercicio está distribuido de la siguiente forma:
-index.php (Formulario de ingreso de contraseñas)
-checklogin.php (Los datos del formulario van a parar aquí para procesarlos)
.config.php (las credenciales válidas se almacenan aquí en unas constantes con el hash de las contraseñas).
-error.php (Si la contraseña es incorrecta me envía aquí / sí accedemos directamente a checklogin sin antes pasar por el index.php también me debería de enviar aquí).
Añado el código del checklogin, ahora mismo cuando introduzco los datos desde el formulario éste me manda al checklogin pero aparece la página en blanco, no importa las credenciales si son correctas o incorrectas.
El objetivo del checklogin es el siguiente:
-PASSWORD no coincide ( Enviar directamente a error.php)
-PASSWORD coincide ( Enviar a Intranet.php)
-Si accedo directamente a checklogin (Que me envíe a error.php con un Link de acceso a la index.php)
Código PHP:
<?php
if (!isset($_SESSION['submit'])) {
header("Location: ./error.php");
exit();
}
session_start();
include_once("config.php");
$_SESSION['submit']=$_REQUEST['submit'];
$_SESSION['id_usuari']=$_REQUEST['usuari'];
$_SESSION['clau_access']= ($_REQUEST['contrasena']);
$pass = md5 ($_POST['contrasena']);
if (isset($_POST['usuari'])) {
$nom = $_POST("usuari");
}
switch($nom){
case USER1:
if (strcmp($pass , $password1)) == 0 {
header("Location: ./intranet.php");
exit;
}
break;
case USER2:
if (strcmp($pass , $password2)) == 0 {
header("Location: ./intranet.php");
exit;
}
break;
default: header("Location: ./error.php?ERROR_LOGIN");
}
?>
<?php
No se si habrá algun error de sintaxis o error de declaración de variables.
este es el contenido de config.php:
Código PHP:
define('USER1','willy' , TRUE);
define('USER2','wonka', TRUE);
$password1 = define('PASSWORD1','81dc9bdb52d04dc20036dbd8313ed055', TRUE);
$password2 = define('PASSWORD2','161ebd7d45089b3446ee4e0d86dbcf92', TRUE);
Soy un completo novato en PHP.