Re: [PHP-ES] ¿no pueden usarse los métodos GET y P OST simultáneamente?
[email protected] (Camilo Sperberg)
| Newsgroups | php.general.es |
|---|---|
| Message-ID | <[email protected]> |
2010/3/28 Francisco Martagón Gordillo <[email protected]> > Hola a todos, a ver si me puede echar una manilla. > > Mi web configura automáticamente el ancho usando javascript para detectar > el > ancho de la resolución del monitor del usuario, enviarlo por la url y > recogerlo mediante una variable GET. > > Funciona estupendamente, pero me está dando problemas cuando intento añadir > formularios que, lógicamente van por el método POST. > > Me he dado cuenta, o eso creo, que no es posible usar los dos métodos > simultáneamente. Lo que no sé es por qué, ya que el formulario tiene > declarado el método POST, entonces ¿por qué no puede enviar los datos por > el > método POST y luego poderse usar la variable $_GET para recoger parámetros > de la url que han sido añadidos a ésta por código PHP? > > ¿Qué es lo que lo hace incompatible, el usar la variable $_GET, o que en la > url vayan parámetros del tipo "?&opcion=1"? > > Releyendo mi consulta creo que ha quedado un poco confusa, intentaré > explicarme mejor. En mi página el servidor conoce la resolución del > monitor > porque cada página tienen una redirección a sí misma, pero añadiendo a la > url el ancho recogido mediante javascript. Una vez que el navegador llega > la > segunda vez a la página y ya le entrega el anco al servidor, éste, usando > una variable $_GET, modifica la página adaptándo a ese ancho. > > El problema es que, creo que por este motivo, los formularios que usan el > método POST no funcionan, ya que no entregan variables $_POST. > > Lo que yo quiero saber es si estas variables $_POST me llegan vacías porque > antes he empleado una variable $_GET o porque hay parámetros en la url. > > Cambiando de tema, creo que voy a tener que usar variables de sesión para > resolver lo del ancho del monitor. > > Un saludo y gracias anticipadas. > > No hay ningún problema en ocupar los dos al mismo tiempo. Sin embargo, veo una falla donde tienes el parámetro: la primera variable va siempre con el símbolo "?", mientras que las subsiguientes van con ampersand: "&". De esta forma, una URL bien formada con múltiples argumentos quedaría: pagina.php?opcion1=asdf&opcion2=qwerty De esta forma, la puedes rescatar como: $_GET['opcion1'] y $_GET['opcion2'] mientras que los post los puedes recuperar como: $_POST['nombre'] y $_POST['contrasenja'] Eso es lo que he hecho siempre y nunca me ha fallado ;) En cuanto a lo del ancho del monitor, podrías meter toda la página en un div y poner el ancho de ese div con javascript, es una sola línea, te evitas de tener que andar pasando mediante url el ancho y al mismo tiempo en el primer request ya obtienes el ancho, aunque ojo: esta solución sólo sirve si tienes una página más "normal", si vas a incorporar flash a página completa como por ejemplo lun.com no creo que te sirva. Saludos. > > > -- > === > Francisco Martagón Gordillo > > Cada día te brinda una nueva oportunidad. > > La resignación es un suicidio cotidiano (Álex Rovira) > > "El placer más noble es el júbilo de comprender"(Leonardo di Ser Piero da > Vinci) > > "Hemos de preparar a los jóvenes para afrontar su futuro, no nuestro > pasado" > Arthur C. Clarke > -- Mailed by: UnReAl4U - unreal4u ICQ #: 54472056 www1: http://www.chw.net/ www2: http://unreal4u.com/