Foros del Web » Programando para Internet » PHP »

consulta sobre fopen, fread, fclose

Estas en el tema de consulta sobre fopen, fread, fclose en el foro de PHP en Foros del Web. Buenas noches compañeros. Estoy haciendo un ejercicio de un curso, y tengo que hacer lo siguiente: Un usuario escribe en un formulario su nombre y ...
  #1 (permalink)  
Antiguo 06/12/2008, 14:52
 
Fecha de Ingreso: agosto-2006
Mensajes: 219
Antigüedad: 17 años, 8 meses
Puntos: 0
consulta sobre fopen, fread, fclose

Buenas noches compañeros.

Estoy haciendo un ejercicio de un curso, y tengo que hacer lo siguiente:
Un usuario escribe en un formulario su nombre y clave.

Buscar en un .txt el nombre y clave para ver si existen.

Si existe mandarle a la página de entrada.

Si no existe devolverle al formulario de login.

Estoy viendo en php.net lo que tengo que hacer, y fopen y fclose creo que lo entiendo perfectamente, pero no termino de entender como usar fread para leer la información del .txt y comprobar si los datos están en el mismo.

Código:
<?php
// obtiene el contenido de un archivo en una cadena
$nombre_archivo = "/usr/local/algo.txt";
$gestor = fopen($nombre_archivo, "r");
$contenido = fread($gestor, filesize($nombre_archivo));
fclose($gestor);
?>
Estoy mirando el código de arriba (php.net), pero no entiendo como puedo pasar los valores ($nombre $clave) a la función de fread para buscar la info en el archivo.

¿Alguna sugerencia?

Gracias

Oskar
  #2 (permalink)  
Antiguo 06/12/2008, 15:14
 
Fecha de Ingreso: noviembre-2008
Mensajes: 94
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: consulta sobre fopen, fread, fclose

Bueno, no es cosa de pasarle el valor a busar a fread, éste no hace búsquedas nada más lée y guarda lo que lée en $contenido. Ahora lo que debes hacer es buscar el nombre y pass en $contenido:

strpos($contenido, $nombre) te dirá si el nombre se encuentra en el archivo de texto.

así que puedes hacer algo así:

if (strpos($contenido, $nombre) && strpos($contenido, $password)) { dejar pasar } else { mandar de regreso }

Claro, dejando en claro que es sólo para un ejercicio de la escuela y ésta no es la manera más recomendable para verificar contraseñas.
  #3 (permalink)  
Antiguo 07/12/2008, 15:57
 
Fecha de Ingreso: agosto-2006
Mensajes: 219
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: consulta sobre fopen, fread, fclose

Gracias rb3m,

Te comento que el listao del txt es:
nombre|clave|mail|telefono|

Estoy pensando que quizas creando un array multidimensial, de tal forma que el array padre sea todo el documento. y el resto de arrays sean
el primero para la primera línea, el segundo para la segunda línea, y que cada array sea:
nombre => elnombre
clave => laclave
mail => elmail
telefono => eltelefono

Y luego recorrerlo para que me coincida en el mismo array el nombre y la clave sería más correcto, no?

Que empezaría por hacer un esplode, y con un for, ir generando los arrays multidimensionales.

Es una buena solucción, o me estoy complicando mucho la vida.

Gracias

Oskar
  #4 (permalink)  
Antiguo 07/12/2008, 15:57
 
Fecha de Ingreso: agosto-2006
Mensajes: 219
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: consulta sobre fopen, fread, fclose

Cita:
Iniciado por oskar_calvo Ver Mensaje
Gracias rb3m,

Te comento que el listao del txt es:
nombre|clave|mail|telefono|

Estoy pensando que quizas creando un array multidimensial, de tal forma que el array padre sea todo el documento. y el resto de arrays sean
el primero para la primera línea, el segundo para la segunda línea, y que cada array sea:
nombre => elnombre
clave => laclave
mail => elmail
telefono => eltelefono

Y luego recorrerlo para que me coincida en el mismo array el nombre y la clave sería más correcto, no?

Que empezaría por hacer un explode, y con un for, ir generando los arrays multidimensionales.

Es una buena solucción, o me estoy complicando mucho la vida.

Gracias

Oskar
  #5 (permalink)  
Antiguo 07/12/2008, 18:51
 
Fecha de Ingreso: noviembre-2008
Mensajes: 94
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: consulta sobre fopen, fread, fclose

Sí, lo de los arreglos y el explode funcionaría. Lo más correcto sería guardar esta información en una base de datos como mysql en vez de un archivo plano, pero para cumplir con los requisitos del curso (que a veces piden cosas raras pero es más para ver como trabaja una función que otra cosa) como lo describes debe bastar.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 14:39.