ante todo daros las gracias.
He estado probando un aporte que lipman corrigio en Febrero, de hecho es el mismo,y probandolo tal cual solo me sale la pantalla en blanco al darle al botón enviar. Estuve imprimiendo por pantalla el valor de la variables en cada traza del código y el valor es el mismo que el que hay en el fichero. Pero toqueteando aqui y allá solo consegui que me pusiera false, a pesar, de que los print daban el valor del txt.
Volví a partir de 0, 4 veces, llegando al mismo resultado. Y no se que está mal. Os colgare todos los ficheros que he creado.
Como no me funcionó ese código no he ido más allá.
He probado de ponerle el: $_POST[]; al declarar la variable, pero el resultado es el mismo.
Seguro que hay algo que estoy haciendo mal, pero yo, no lo veo.
Si necesitais más datos como por ejemplo, donde lo estoy ejecutando, SO, etc. No duden en solicitarlo.
Fichero: inicio.html
Código:
<html>
<head>
<title>Mi sitio</title>
</head>
<body>
<form method="POST" action="login.php">
<label for="Usuario">Usuario: </label>
<input type="text" name="Usuario" id="Usuario"/><br />
<label for="password">Contraseña: </label>
<input type="password" name="password" id="password" /><br />
<input type="submit" value="Entrar" />
</form>
</body>
</html>
Fichero: usuarios.txt
admin|tkm2000$
Fichero: login.php
Código:
<html>
<head>
<title></title>
</head>
<body>
<?
$user = "Usuario";
$pass = "password";
$f=fopen("usuarios.txt","r");
while(!feof($f)){
$linea = fgets($f);
//Pregunto si la linea empieza por el nombre de usuario dado, y si le sigue la barra vertical
if(preg_match("/(^".$user."\|)/",$linea))
//En caso de ser correcto, compruebo que empiece por el nombre de usuario, contenga la barra, y acabe en la contraseña.
if(preg_match("/(^".$user.")\|(".$pass."$)/",$linea))
echo "ENTRO";
else
echo "FALSO";
else
echo "FALSO";
}
fclose($f);
?>
</body>
</html>
Esto es todo. Espero a ver usado los tags correctos. Es la primera vez que posteo en un foro...