[Php-avanzado] Undefined offset

Leonardo Tadei - Pegasus Tech Supply leonardot en pegasusnet.com.ar
Vie Ago 28 02:28:33 ART 2009


Hola,

	no veo el error a simple vista (parece que estás leyendo más allá del
archivo) pero en vez de liarte con fopen, cargá el archivo a un vector
con file() y después trabajá el vector directamente...

El jue, 27-08-2009 a las 22:01 -0300, Silverzero escribió:
> Hola!
> 
> Hice esto para validar usuarios que se leen de un cvs y cuando el
> login es incorrecto me tira un error:
> Notice: Undefined offset: 1 in check.php on line 14
> 
> Cuando el login es correcto no.
> 
> Anteriormente estuve bastante trabada porque me leía bien el primer
> valor (user), pero el segundo no, y nunca me validaba. Probé con el
> chr13 y con el \n, pero ninguno parecia funcionar...hasta que agarré
> un script de los ejercicios dados que era para generar un cvs y ahí
> recién me leyó el segundo valor...pero con este "Notice"...
> 
> Adjunto cvs.
> 
> check.php-------------->
> 
> <?php
> 
> if(file_exists("usr.cvs")){ //chequeo si existe el archivo
>     
>         $rta=0;
>         
>         $h=fopen("usr.cvs","r"); //lo abro en modo lectura
>         
>         while(!feof($h)){ //controlo que mientras que haya contenido
> para leer siga leyendo
>             
>             $linea=fgets($h); // leo línea a línea y la guardo en
> $linea
>             $linea=str_replace('"','',$linea);//le borro las comillas
> y guardo
>             $linea=str_replace("\n","",$linea);
>             list($u,$p)=explode(",",$linea);
>             
>             //print ($u."=".$p."<br />");
>             
>             //print($usr."=".$pwd."<br />");
>             
>             //if ($u==$usr){print "ok user <br />";}
>             //if ($p==$pwd){print "ok pass <br />";}
>             
>             
>             if (($u==$usr)&&($p==$pwd)){
>                     
>                     $rta=1;        
>                     break;
>                     
>                     }
>            }
> 
>                 fclose($h);
>                 
>             $msj=$rta==0?'Login incorrecto':'Login exitoso';
>                print $msj;
> 
>         }
> ?>
> 
> Saludos!
> Gracias!

-- 

Leonardo Tadei
leonardot en pegasusnet.com.ar
http://blog.pegasusnet.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key



Más información sobre la lista de distribución Php-avanzado