[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