Problema con POST PHP, variable no recibida en todos los navegadores

Temas sobre programación ( php, c, sql, html, perl, python, ruby, java, bash, etc ) y recursos ( herramientas, frameworks, hosting, cms, etc )

Moderadores: akodo, maiku

Responder
Avatar de Usuario
t4rr1t0
Ganador CSEL 2011
Ganador CSEL 2011
Mensajes: 357
Registrado: Dom Dic 12, 2010 6:07 pm
Contactar:

Problema con POST PHP, variable no recibida en todos los navegadores

Mensaje por t4rr1t0 » Jue Jun 07, 2012 7:50 pm

Hola compañeros.
Tengo un problema que por mas que miro no entiendo por que pasa.

Tengo una pagina con un formulario y varios elementos tipo Input Image que luce asi:

Código: Seleccionar todo

<form method="post" action="../imageador.php" enctype="application/x-www-form-urlencoded">
...

<input type="image" name="imagen" src="./miniatura/mini_bruja.png" align="middle" width="64" height="64"  value="Halloween/bruja.png">
El resultado del click sobre el elemento lo recibo en una pagina PHP de la siguiente manera:

Código: Seleccionar todo

$datos=$_POST;
$ruta=$datos["imagen"];
...
print <<<EOT
<img src=./$ruta>
EOT;
El problema es que los navegadores que comparten motor con firefox no reciben el valor de "imagen". Simplemente no ven a la variable, mientras que los basados en webkit como chromium y qupzilla si la reciben y en la pagina funciona sin problemas.

A que puede deberse? Que estoy haciendo mal?

Salu2
Avatar de Usuario
neurus
Forista Legendario
Forista Legendario
Mensajes: 1805
Registrado: Dom Oct 10, 2004 7:00 am

Re: Problema con POST PHP, variable no recibida en todos los navegadores

Mensaje por neurus » Jue Jun 07, 2012 8:09 pm

¿y el problema está en _POST?

¿Qué sale con esto?:

Código: Seleccionar todo

echo "<PRE>";
print_r ($_POST);
echo "</PRE>";
Es muy raro, de todos modos. No se me hubiera ocurrido que el navegador tuviese algo que ver con PHP. Sólo para probar: si cambiás el POST a GET, ¿qué se ve en la barra de direcciones?
Avatar de Usuario
t4rr1t0
Ganador CSEL 2011
Ganador CSEL 2011
Mensajes: 357
Registrado: Dom Dic 12, 2010 6:07 pm
Contactar:

Re: Problema con POST PHP, variable no recibida en todos los navegadores

Mensaje por t4rr1t0 » Jue Jun 07, 2012 8:25 pm

Hola, gracias por responder.
Con el echo, en Firefox me sale esto:

Código: Seleccionar todo

Array
(
    [imagen_x] => 29
    [imagen_y] => 21
)
Mientras en Chromium me sale esto:

Código: Seleccionar todo

Array
(
    [imagen_x] => 25
    [imagen_y] => 41
    [imagen] => Halloween/bruja_bn.png
)
Con get pasa lo mismo, es decir en firefox a la URL se le agrega solo las coordenadas y a Chromium las coordenadas y el valor:
http://focaclipart.net23.net/imageador. ... magen.y=31
http://focaclipart.net23.net/imageador. ... uja_bn.png
Avatar de Usuario
mcun
Administrador
Administrador
Mensajes: 3888
Registrado: Lun Abr 19, 2010 12:30 am
Ubicación: En una de las nalgas del culo del mundo (según la Bersuit Vergarabat)
Contactar:

Re: Problema con POST PHP, variable no recibida en todos los navegadores

Mensaje por mcun » Jue Jun 07, 2012 8:51 pm

que esperas recibir en $ruta=$datos["imagen"]; ??

según yo entiendo para enviar un fichero debe ser type='file?
Los programadores de verdad no documentan. La documentación es para los idiotas que no pueden leer un volcado de memoria.

Trusted Network and Developer | Lee el Reglamento !! |WIKI-EL | Twitter @mr_mcun
Debian + TTY | ArchLinux + awesome | openSUSE + Gnome-Shell | Linux User #508809
Avatar de Usuario
neurus
Forista Legendario
Forista Legendario
Mensajes: 1805
Registrado: Dom Oct 10, 2004 7:00 am

Re: Problema con POST PHP, variable no recibida en todos los navegadores

Mensaje por neurus » Jue Jun 07, 2012 8:53 pm

Probando tu código, lo que puedo ver es que Firefox no lee el valor value="etc". Es decir, es alguno de esos problemas con la lectura de código html, que es distinta en cada navegador.
Y una posible solución (seguro hay mejores), es agregarle un campo oculto, que seguramente funcionará en cualquier navegador.
Algo así:

Código: Seleccionar todo

<input type="image" value=bruja.jpg name="imagen" src="./miniatura/mini_bruja.png" align="middle" width="64" height="64"  >
<input name="otrocampo" type="hidden" id="otrocampo" value="Halloween/bruja_bn.png"/>
Insisto: estoy seguro de que esto se puede hacer mejor.
En definitiva: el problema es que tienes mal escrito o mal pensado el formulario.
Avatar de Usuario
mcun
Administrador
Administrador
Mensajes: 3888
Registrado: Lun Abr 19, 2010 12:30 am
Ubicación: En una de las nalgas del culo del mundo (según la Bersuit Vergarabat)
Contactar:

Re: Problema con POST PHP, variable no recibida en todos los navegadores

Mensaje por mcun » Jue Jun 07, 2012 9:03 pm

ahora creo que entendí, tu quieres enviar la img directamente desde el form ...

fíjate aquí
http://stackoverflow.com/questions/5681 ... ue-in-post
Los programadores de verdad no documentan. La documentación es para los idiotas que no pueden leer un volcado de memoria.

Trusted Network and Developer | Lee el Reglamento !! |WIKI-EL | Twitter @mr_mcun
Debian + TTY | ArchLinux + awesome | openSUSE + Gnome-Shell | Linux User #508809
Avatar de Usuario
t4rr1t0
Ganador CSEL 2011
Ganador CSEL 2011
Mensajes: 357
Registrado: Dom Dic 12, 2010 6:07 pm
Contactar:

Re: Problema con POST PHP, variable no recibida en todos los navegadores

Mensaje por t4rr1t0 » Jue Jun 07, 2012 9:08 pm

Gracias por sus respuestas.
mcun, lo que queria enviar era una ruta en forma de string, no un archivo.

Al final cambie el input image por un Button submit rodeando la imagen y hasta ahora funciona.

Lo más probable es que sea como dices Neurus y sea un problema de diseño del formulario que Firefox, siendo más quisquilloso no me deja pasar a pesar de que Chromium (y los navegadores con webkit en general) si toleran.


Seguiré averiguando por que el input image no quiso trabajar con Firefox, asi que no daré por solucionado por ahora.

Salu2
Editado: No habia visto tu ultima respuesta MCUN, voy a ver si se puede con lo expuesto alli
Avatar de Usuario
akodo
Moderador
Moderador
Mensajes: 1457
Registrado: Mié Nov 28, 2007 8:00 am
Ubicación: En la X del explorer (pulse para llamar)

Re: Problema con POST PHP, variable no recibida en todos los navegadores

Mensaje por akodo » Dom Jun 10, 2012 10:45 pm

Suele ser bastante común que los input del formulario tengan el mismo name y id.

Código: Seleccionar todo

<input type="image" name="imagen" id="imagen" src="./miniatura/mini_bruja.png" align="middle" width="64" height="64"  value="Halloween/bruja.png">
Otra cosa que me preocupa es la codificación del formulario, aunque si el resto de las variables te las manda sin problemas...
Descargue el gestor de mp3 "Music Manager" -> ([url=http://ctrlalt.iespana.es]mmlf[/url])
Última versión del gestor "Music Manager" -> ([url=http://sourceforge.net/projects/jmusicmanager/]jmmm[/url])
Responder
  • Similar Topics
    Respuestas
    Vistas
    Último mensaje