jrzc escribió:
¿Como puedo hacer para que el usuario y el password sean ingresados por un form de html y se validen en este codigo?
<?php
mn = fopen("registro.txt","r");
$texto = fread($mn, filesize("registro.txt"));
fclose($mn);
$linea = explode("\n",$texto);
foreach($linea as $lin_ea){
$ja = explode(":",$lin_ea);
$usuario = $ja[0];
$password = $ja[1];
echo "usuario: ".$usuario." contrasena: ".$password."<br>";
}
?>
Tienes que aplicar el método POST al formulario, y que al hacer click a submit (o sea, en la acción) que te lleve a otra página (o la misma, realmente no importa). Evalúas con
isset que haya recibido las variables $_POST['user'] y $_POST['pass'], si es así, escribirá esas variables en el archivo.
No había contemplado que manejarías varios usuarios en el mismo archivo, para leerlo supongo que podrías implementar algo como esto:
Código PHP :
<?php /*digamos que hasta este punto ya recibiste user y password con los que quiere ingresar el usuario y los has guardado como $user y $pass*/
$archivo = fopen("registro.txt","r");
$userarchivo = fgets ( $archivo );
while($userarchivo != $user){
$userarchivo= fgets($archivo);
if (EOF ($archivo){die ("No se encontró el usuario");})
/*en el archivo están alternados los user y pass, por lo tanto si encuentra $user, la siguiente línea deberá ser el pass*/
$passarchivo= fgets($archivo);
if ($passarchivo == pass){ echo "Bienvenido!";}
else { echo "contraseña incorrecta";}
}
?>
No está muy elaborado ya que al parecer el trabajo no tiene que estar muy validado, PERO tienes que considerar la probabilidad de que usuarios se repitan o que alguien ponga una contraseña que sea igual a algún usuario, arreglar esto será sumamente complicado, he ahí por lo que siempre se recomienda una base de datos relacional.