[Php-avanzado] No me funciona el "header("Location...)
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Mar Jul 13 15:43:44 ART 2010
Hola Mario,
asumiendo que "pasar de largo como colectivo lleno" sea que siempre
ejecuta el header("Location: dbf2.php"), debería significar que no entra
en ninguno de los 3 ifs anteriores.
Ponete un print() antes de cada IF con el valor a evaluar, a ver si
estás leyendo bien los datos.
Si los datos llegan bien, podría ser que alguna configuración del PHP
mantenga los datos en un buffer y se los envíe al navegador cuando
termina, como cuando se usan las funciones ob_start() [1] y ob_ flush()
[2]. En ese caso, deberías poner un exit() [3] dentro de los IF para
forzar la terminación del script.
[1] http://ar.php.net/manual/en/function.ob-start.php
[2] http://ar.php.net/manual/en/function.ob-flush.php
[3] http://ar.php.net/manual/en/function.exit.php
El mar, 13-07-2010 a las 05:50 -0700, Mario Gomez Cassou escribió:
> En un una pagina tengo que subir un archivo de excel (xls) desde un formulario. En la pagina a la que apunta el "<form action=..." primero chequeo que se haya efectivamente se haya seleccionado un archivo, despues que no este vacio y por ultimo que tenga extension "xls".
> En cualquiera de estos casos que no se cumpla la condicion lo mando para atras con un mensaje de error.
> Esto lo vengo usando en distintas situaciones sin problemas y ahora no me esta funcionando, pasa de largo como colectivo lleno.
> Se agradecen sugerencias, abajo va el codigo
> Saludos
> Mario
>
>
> <?php
>
> // ------- Si no se subió un archivo -------------
> if (!isset($_POST["botonazo"])) {
> header("Location: index.php?err=1");
> }
>
> // prueba que no sea un archivo vacío
> $s1 = $_FILES["datos"]["size"];
> if(!($s1>0)){
> header("Location: index.php?err=2");
> }
>
> // Prueba el nombre del archivo
> $n1 = $_FILES["datos"]["name"];
> $ext =substr($n1,-4);
> if($ext != ".xls" && $ext != ".XLS") {
> header("Location: index.php?err=3");
> }
>
> // Mueve el archivo al directorio "subidos"
> move_uploaded_file($_FILES["datos"]["tmp_name"], "subidos/datos.xls");
>
> // Pasa a la siguiente etapa: meter los datos en tablas mysql
> header("Location: dbf2.php");
> ?>
>
>
>
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
--
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