Problema con formulario

shortyStyle

Hola a todos! Escribo porqué ya estoy un poco desesperado, el caso es que tengo un foro, en el cual antes de mostrar todos los mensajes de dicho foro, al principio y al final de la página tengo un formulario con varias variables ocultas y un solo submit, los dos formularios son iguales (el del principio de la página y el de final de la página).

El caso es que trabajando con Firefox funciona como debería, BIEN, pero con IE funciona el formulario de abajo pero el de arriba no :wtf: :wtf:

El formulario es el mismo:

<table style="margin-left: 8px">
<tr>
	<td>
	<form name="nou1" action="index.php?p=post" method="post">
			
<input type="hidden" name="cat_p" value="<? echo $ID_Categoria; ?>">
<input type="hidden" name="usuari_p" value="<? echo $_SESSION["usuario"]; ?>">
<input type="hidden" name="catn_p" value="<? echo $row_cat_foro["Nombre"]; ?>">
			
<input type="submit" value="Nuevo post">
</form>
</td>
</tr>
</table>

Lo curioso es que en IE (que por cierto es la versión 8), cuando me pongo encima del botón de submit abajo a la izquierda, en el navegador, me indica que hay un link a index.php?p=foro no index.php?p=post como yo le indico en el action del form.

Estoy sin ideas :(

Muchas gracias por vuestra ayuda.

Shendraf

Para empezar, si tienes el mismo código repetido dos veces en la misma página, utiliza nombres diferentes para las variables. El IE cogerá la última variable que declares si está repetida.

Fr4nk0

Una cosa que no viene al caso, cierra los input con /> en vez de con > , que en algunas versiones de IE los toma como warnings. (/> es la sintaxis en XHTML)

shortyStyle

#2 #3 Gracias por la información, para que no se repitan las variables en IE he borrado del código el primer formulario, y ahora no me funciona el de abajo, cuando antes sí me funcionaba :wtf:

Me están entrando unas ganas de apuñalar al creador de IE...

Shendraf

¿Has borrado el formulario entero o su contenido? No deberías tener dos formularios con el mismo nombre. Especifica qué tipo de error te aparece.

NeB1

pasa el código completo plis...

Así a ojo te diría que tienes algo mal cerrado, pero vamos, a saber...

shortyStyle

En cuánto tenga tiempo libre suficiente os pego el código, gracias por vuestras respuestas!

#8 Se puede abrir tags de php tanto <?php como <?

J

<input type="hidden" name="cat_p" value="<? echo $ID_Categoria; ?>">
<input type="hidden" name="usuari_p" value="<? echo $_SESSION["usuario"]; ?>">
<input type="hidden" name="catn_p" value="<? echo $row_cat_foro["Nombre"]; ?>">

yo no entiendo mucho pero eso de '<? echo...' no seria '<?php echo...' ??
si nadie lo ha dicho supongo que no sera necesario, pero desde luego yo lo desconocia.

respondiendo a #1: eso a mi aveces me ha pasado, borrando archivos temporales se soluciona el problema. igual esque tiene en la cache el antiguo archivo que puede que fuera form en lugar de post.
y en css sobre todo me pasa con mucha frecuencia.

shortyStyle

#8 Ya pero no voy a pedir a todos los usuarios que borren sus temporales para hacer el submit de un formulario :S

Os dejo el código entero:

http://pastebin.com/m207bbc64

Voy a cambiar el nombre de las variables del segundo form y pruebo.

Gracias de nuevo por la ayuda!

Edit:

  • Ya he cambiado ciertas cosas, los dos formularios tienen nombres distintos, y los inputs tienen nombres de variables distintas, pero sigue igual.

Otra cosa, hay dos formas de acceder a foro/board

1) Entrando por un enlace que hay en la página principal, pasando las variables por GET

2) Por un combo list pasando las variables por POST

Explico esto porqué pasa algo curioso, y es que si entro al foro mediante la primera forma y clico en el primer submit me envia a index.php?p=foro (sin sentido ya que el action del form es a index.php?p=post).

Pero! Si entro al foro mediante la segunda manera (por el combo list), al clickar en el primer submit, el mismo de antes, me envia al foro actual en el que estoy, por ejemplo si estoy en el foro&cat=2 pues ahí se queda.

Recuerdo que todo esto me pasa solo con IE

No lo entiendo, estoy desesperado, podéis probarlo vosotros mismos en www.cfbegues-forum.com (no seais muy crueles conmigo, mi nivel de php es bajito)

De nuevo os agradezco leeros este tocho y vuestra ayuda :)

NeB1

El error es este:

Tienes un formulario llamado "saltoforo" que dentro tiene un <select> el cual no está cerrado. entonces el </form> es omitido por el IE ya que este está esperando el final del <select> y entonces el siguiente boton de submit, aunque está dentro del otro formulario, hace la acción de submit de este formulario, cuyo action es action="index.php?p=foro".

Vamos, creo que es ese,y si miras mi otro post (#6), acerté ayer ^^

shortyStyle

#10 Joder mil gracias!!! Te debo una :buitre:

Joder no lo ví porqué cada página la tengo dividida en distintos .php y no me dí cuenta.

Estaba apunto de usar el <!--[if IE]>...

xD

Esto ya se puede cerrar ;) ;)

NeB1

:)

Usuarios habituales

  • NeB1
  • shortyStyle
  • jMl
  • Shendraf
  • Fr4nk0