Foros del Web » Programando para Internet » PHP »

PHP: Buscar valor en *.txt

Estas en el tema de PHP: Buscar valor en *.txt en el foro de PHP en Foros del Web. Hola a todos, Ante todo, agradeceros la ayuda que me podáis prestar, porque llevo días dándole vueltas a una cosa y no acabo de solucionarlo. ...
  #1 (permalink)  
Antiguo 27/02/2009, 02:40
 
Fecha de Ingreso: febrero-2009
Mensajes: 1
Antigüedad: 15 años, 1 mes
Puntos: 0
Pregunta PHP: Buscar valor en *.txt

Hola a todos,
Ante todo, agradeceros la ayuda que me podáis prestar, porque llevo días dándole vueltas a una cosa y no acabo de solucionarlo.

Quiero poner en mi site un cuadro de texto donde el visitante introduzca un código. Al pulsar el botón Enviar/Buscar, tiene que ir a un archivo *.txt, buscarlo y devolverme un mensaje tipo "El código existe" si lo encuentra EXACTAMENTE, o "El código no fue encontrado" en caso contario.

El problema que tengo es que ponga lo que ponga en el cuadro del formulario, siempre me devuelve que el valor no fue encontrado, aunque le ponga uno que sí existe, me estoy volviendo loco... Ya véis que empiezo con php

El archivo txt tiene esta configuración, donde cada línea es un código:

GC10YMG
GC110D5
GC112C
GC113XX
GC113YH
...
...
...

A partir de aquí, tengo el php con el formulario así:

<form action="search.php" method="post">
Search Term <input type="text" name="searchterm">
<input name="submit" type="submit" value="Search" /></form>


Y el archivo search.php, con el siguiente código:

<?php
if((!empty($_POST["searchterm"]))|| isset($_POST["searchterm"])){
$file = fopen ("codigos.txt", "r");
$linea = fgets($file);
while (!feof($file) && $linea!=$_POST["searchterm"]) {
$linea = fgets($file);
}
if ($linea==$_POST["searchterm"]) {
echo "<br>";
echo "Sí está".substr($pasar,0,10);
echo "<br>";
} else
{
echo "El codigo no fue encontrado.";
echo "<br> Intente nuevamente...";
}
fclose ($file);
}
?>


Por favor, alguíen puede echarme una mano para saber porqué siempre me devuelve que el valor no existe. ¿Cómo puedo solucionarlo?

Muchas gracias a todos de antemano.
  #2 (permalink)  
Antiguo 27/02/2009, 08:17
 
Fecha de Ingreso: septiembre-2004
Mensajes: 324
Antigüedad: 19 años, 7 meses
Puntos: 13
Respuesta: PHP: Buscar valor en *.txt

Puedes usar fread para abrir el archivo y una expresion regular para encontrar el texto.
http://es.php.net/preg_match_all
  #3 (permalink)  
Antiguo 27/02/2009, 08:20
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
Respuesta: PHP: Buscar valor en *.txt

proba mejor con esto

Código PHP:
....
$_POST["searchterm"]=trim($_POST["searchterm"]);
while (!
feof($file) && strcasecmp($_POST["searchterm"],trim($linea))===0) { 
.... 
</span></span></span>

espero q te sirva
__________________
Degiovanni Emilio
developtus.com
  #4 (permalink)  
Antiguo 27/02/2009, 08:22
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
Respuesta: PHP: Buscar valor en *.txt

Cita:
Iniciado por karliky Ver Mensaje
Puedes usar fread para abrir el archivo y una expresion regular para encontrar el texto.
http://es.php.net/preg_match_all
tambien es valida esta opcion
__________________
Degiovanni Emilio
developtus.com
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 10:22.