problema con el manejo de archivos

Iniciado por darkxxx, 8 Octubre 2007, 05:00 AM

0 Miembros y 1 Visitante están viendo este tema.

darkxxx

bueno señores hice un programa en php que copiara la direccion ip del visitante a un archivo de texto y que luego este la leyera para guardarla en un array ok todo fino cuando lo hice pero cuando quiero comparar si la ip del visitante es igual a alguna ip de el array que le dijiera que ya visito la pagina y si no que no ha visitado la pagina pero por mas cosas que le añado siempre me dice que no ha visitado la pagina que puede estar mal en el codigo

<?php

$archivo 
"texto.txt";

$ip $HTTP_SERVER_VARS['REMOTE_ADDR'];

$fp fopen($archivo,"a"); 
fwrite($fp,$ip);
fwrite($fp,"\n");
fclose($fp);

$fp fopen($archivo,"r");

while (!
feof($fp)) {

$texto fgets($fp);
$tex[] = nl2br($texto);

}

fclose($fp);

$cantidad count($tex);

for (
$i=0;$i<$cantidad;$i++) {
if (
$tex[$i] == '$ip ') {
echo 
"ya visitastes la pagina";
break;
}
else {
echo 
"no has visitado la pagina";
break;
}
}


?>


en el archivo de texto esta guardada las ip una por cada linea es decir por ejemplo

127.0.0.1
127.0.0.1
127.0.0.1

los guarda bien en el array pero a la hora de compararla con la ip me dice siempre que ya ha visitado la pagina

de verdad les agradeceria su ayuda

alone-in-the-chat


Si entendi mas o menos asi deberia ir el asunto


Código (php) [Seleccionar]

<?php

$archivo 
"texto.txt";

$ip $HTTP_SERVER_VARS['REMOTE_ADDR'];

$fp fopen($archivo,"r");
$flag =  false;
while (!
feof($fp)) 
{
$buffer trim(fgets($handle4096));

if ($buffer == $ip)
{
$flag true;
}
}
fclose($fp);

if (
$flag)
{
echo "ya visitaste la pagina";
}else{
echo "no has  visitado la pagina";
}

/*recien guarda la ip al final del script */
$fp fopen($archivo,"a"); 
fwrite($fp,$ip."\n");
fclose($fp);
?>


Because maybe
You're gonna be the one that saves me
And after all
You're my wonderwall
d[n_n]b

Ertai

Un consejo: usa mejor la función in_array().

Saludos!
Si la felicidad se comprara, entonces el dinero sería noble.


void rotar_by_ref(int& a, int& b) {
   /* Quien dijo que no se podia sin una variable temporal? */
   *a = *a ^ *b;
   *b = *a ^ *b;
   *a = *a ^ *b;
}