Foros del Web » Programando para Internet » PHP »

Autentificación de usuario y contraseña

Estas en el tema de Autentificación de usuario y contraseña en el foro de PHP en Foros del Web. Llevo varios días con un trozo de código en php que se me atraganta y la verdad es que estoy perdido. Acabo de iniciarme y ...
  #1 (permalink)  
Antiguo 22/05/2013, 11:45
 
Fecha de Ingreso: mayo-2013
Mensajes: 1
Antigüedad: 11 años, 6 meses
Puntos: 0
Autentificación de usuario y contraseña

Llevo varios días con un trozo de código en php que se me atraganta y la verdad es que estoy perdido.

Acabo de iniciarme y aún no tengo demasiada soltura, pero hasta donde yo se esto debería funcionarme. Espero que alguien con mejor ojo que yo y más experiencia pueda echarme un cable.

Lo que sigue es un sencillo formulario en html cuyos únicos campos son, como veréis: Nombre de usuario y Contraseña. Se que habrá quien dirá que para los procesos de autentificación de usuario y contraseña es mucho mejor echar mano de mysql y que cualquier otro intento de lograr lo mismo mediante cualquier otro mecanismo es una pérdida de tiempo, e incluso puede que tengan razón. Lo que yo busco sin embargo es llevarlo a cabo mediante un fichero .txt que contendrá las respectivas contraseñas y nombres de usuario.

Centrandonos en la sección de php $_REQUEST se supone que toma lo que yo halla introducido en las cajas de texto del formulario y como se puede ver se carga en dos variables ($userl, $passl), inmediatamente después ambas las fusiono en $ucon, y a partir de ahí no se qué hago mal.

Con $var = file('usucon.txt'); cargo el contenido del txt en un array (según tengo entendido línea a línea).

Después abro un buble (foreach) para recorrer el array en el que supuestamente he cargado el contenido del documento y seguidamente hago un 'if' anidado en el que le digo que si l $var1 (que será sustituido por cada línea del documento en cada iteración) es igual a $ucon (la variable compuesta del principio) entonces que me redirija a una página determinada, sino (else) que imprima la cadena de más abajo.

EL PROBLEMA: Hasta donde he podido comprobar el condicional de alguna forma salta la primera instrucción en la que le digo que me redirecciones a otra página y solo me imprime la cadena del final (else).

¿Por qué sucede esto cuando en el documento txt está tanto el nombre de usuario como la contraseña?

Otra cosa más, en algún lugar he leído que el header debe aparecer antes de cualquier etiqueta html. Ese no es el problema porque lo he probado poniendo la parte de php antes del formulario y el asunto persiste, lo digo por si alguien sospecha de ello ya que en el script puesto abajo la parte de php está después del formulario.

Cita:
<body> <form name="login" method="post" enctype="application/x-www-form-urlencoded" action="">

<center><p>Nombre de usuario:</p><input type="text" name="usuario" /><br /></center>

<br /><br />

<center><p>Contraseña:</p><input type="text" name="contr" /><br /></center>

<br /><br />

<center><input type="submit" name="submit" value="Ingresar" /></center>

</form>

<?
$userl = $_REQUEST['usuario'];
$passl = $_REQUEST['contr'];
$ucon = $userl." ".$passl.'\r\n';



$var = file ('usucon.txt');
foreach ($var as $var1) {
if ($var1 == $ucon) {
header('Location: pag2.php');
}else{
echo 'Nombre de usuario o contraseña incorrectos.';
}
}
?>

</body>
</html>
  #2 (permalink)  
Antiguo 22/05/2013, 16:01
Avatar de Luismaster2000  
Fecha de Ingreso: junio-2011
Ubicación: Orizaba, Ver.
Mensajes: 499
Antigüedad: 13 años, 5 meses
Puntos: 31
Respuesta: Autentificación de usuario y contraseña

Trato de comprender pero me resulta enredado tu sistema de logueo por que no haces todo con variables si no piensas usar base de datos en lugar de y si los usuarios son pocos y usando variables superglobales

deberiar reconsiderar rehacer tu codigo no soy muy experto pero para lo que quieres hacer de redirigir a una pagina despues de un logueo no va por hay.
  #3 (permalink)  
Antiguo 22/05/2013, 16:03
Avatar de Luismaster2000  
Fecha de Ingreso: junio-2011
Ubicación: Orizaba, Ver.
Mensajes: 499
Antigüedad: 13 años, 5 meses
Puntos: 31
Respuesta: Autentificación de usuario y contraseña

Trato de comprender pero me resulta enredado tu sistema de logueo por que no haces todo con variables si no piensas usar base de datos en lugar de usar un archivo y si los usuarios son pocos y usando variables superglobales

deberiar reconsiderar rehacer tu codigo no soy muy experto pero para lo que quieres hacer de redirigir a una pagina despues de un logueo no va por hay.

Etiquetas: contraseña, formulario, html, mysql, usuario, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:53.