Foros del Web » Programando para Internet » PHP »

Dos formularios en la misma pagina

Estas en el tema de Dos formularios en la misma pagina en el foro de PHP en Foros del Web. No se si sea la pregunta correcta, pero el nuevo problema que me ha surgido consite en lo sgte: En una pagina donde muestro un ...
  #1 (permalink)  
Antiguo 11/08/2007, 18:01
Avatar de SI TAN SOLO TUVIERA  
Fecha de Ingreso: marzo-2006
Ubicación: Aburrilandia, US
Mensajes: 652
Antigüedad: 18 años, 1 mes
Puntos: 3
Pregunta Dos formularios en la misma pagina

No se si sea la pregunta correcta, pero el nuevo problema que me ha surgido consite en lo sgte:


En una pagina donde muestro un producto tengo un formulario para que el usuario pueda hacerle preguntas acerca del producto al vendedor afiliado.

Este es el cabezote del form:

Código PHP:
<form name="f" method="post" action="details.php?id=<?=$HTTP_GET_VARS["id"]?>">
Y en esta misma pagina, quiero METER OTRO FORMULARIO para recomendarla a un amigo.

Mi problema es que el action para este segundo formulario...
Código PHP:
action="details.php?id=<?=$HTTP_GET_VARS["id"]?>"
vendria siendo el mismo, entonces si hago SUBMIT en el de recomendar a un amigo, se activan las validaciones del otro formulario y viceverza.

No tengo idea alguna como resolver esto, quien me puede dar una mano por favor??

Gracias!
__________________
¿Dónde encontrar carros baratos en USA? En Autopten.

Última edición por SI TAN SOLO TUVIERA; 11/08/2007 a las 18:25
  #2 (permalink)  
Antiguo 11/08/2007, 19:34
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Dos formularios en la misma pagina

Prueba poniendo un campo hidden donde indiques de que formulario viene, asi sabes que si es del de recomienda no activas las validaciones.

Saludos.
  #3 (permalink)  
Antiguo 11/08/2007, 19:51
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años, 1 mes
Puntos: 33
Re: Dos formularios en la misma pagina

SI TAN SOLO TUVIERA:
La forma es:
<form .... caso #1... >
//debes cerrar el caso numero 1.
</form>
<form .... caso # 2... >
//debes cerrar el caso numero 2.
</form>
Entonces si haces submit en caso # 1
solo funcionara ese caso. E igual para
el numero2.
Lo que NO puedes hacer es que
se hagan simultaneos.
Asimismo, cuando haces uno debes volver al
inicio para hacer el segundo.
Saludos
Y espero te ayude.
Franco
NOTA: lo puedes hacer simultaneo pero solo a nivel
del archivo PHP y con UN form.
  #4 (permalink)  
Antiguo 12/08/2007, 16:44
Avatar de SI TAN SOLO TUVIERA  
Fecha de Ingreso: marzo-2006
Ubicación: Aburrilandia, US
Mensajes: 652
Antigüedad: 18 años, 1 mes
Puntos: 3
Re: Dos formularios en la misma pagina

Sigo enrolado con esto, necesito mas ayuda por favor, pero en terminos de codigo.


Al final del Formulario para DECIRLE A UN AMIGO tengo esto:

Código PHP:
<?php
if (isset($_POST['tellsubmit'])) {
doTell($notice$adminEmail$subject$websiteName$defaultMessageClose$link);
}
else {
doTellForm($privacyPolicyLinkText$privacyPolicyLinkURL$defaultMessageIntro$link);
}
?>

Y esta funcionando asi:

Si el usuario envia el primero formulario, el de CONTACTAR VENDEDOR, no pasa nada, funciona correctamente, ni tampoco toca el de DECIRLE A UN AMIGO, pero si el usuario usa el formulario de DECIRLE A UN AMIGO, se activa tambien el de CONTACTAR VENDEDOR ..

Que puedo hacer para solucionar esto o que me falta? GRACIAS!

...... 1 hora mas tarde....

Ya lo arregle haciendo practicamente lo mismo:

Antes de las validaciones de el formulario para contactar vendedor puse esto:

Código PHP:
if (isset($_POST['submit'])) { .... } 
Y ya las diferencia. GRACIAS!
__________________
¿Dónde encontrar carros baratos en USA? En Autopten.

Última edición por SI TAN SOLO TUVIERA; 12/08/2007 a las 17:29 Razón: Solución encontrada
  #5 (permalink)  
Antiguo 12/08/2007, 21:24
 
Fecha de Ingreso: enero-2007
Ubicación: Buenos Aires, ARG
Mensajes: 71
Antigüedad: 17 años, 3 meses
Puntos: 2
Re: Dos formularios en la misma pagina

Disculpá q llegue tarde, pero otra forma es como te decía GatorV, con un hidden en cada form. Sería algo como


<form1>
<input type="hidden" name="form" value="form1">
</form1>

<form2>
<input type="hidden" name="form" value="form2">
</form2>


y despues en el php

if ( $_POST[ 'form' ] == "form1"){
...
}elseif ( $_POST[ 'form' ] == "form2"){
...
}


Igual lo q hiciste vos está bien, es solo una forma más de hacerlo, saludos!
  #6 (permalink)  
Antiguo 12/08/2007, 22:44
Avatar de SI TAN SOLO TUVIERA  
Fecha de Ingreso: marzo-2006
Ubicación: Aburrilandia, US
Mensajes: 652
Antigüedad: 18 años, 1 mes
Puntos: 3
Re: Dos formularios en la misma pagina

Gracias SAGANXIS de todos modos por el aporte!
__________________
¿Dónde encontrar carros baratos en USA? En Autopten.
  #7 (permalink)  
Antiguo 13/08/2007, 00:09
Avatar de SI TAN SOLO TUVIERA  
Fecha de Ingreso: marzo-2006
Ubicación: Aburrilandia, US
Mensajes: 652
Antigüedad: 18 años, 1 mes
Puntos: 3
Re: Dos formularios en la misma pagina

Hola.

Necesito de vuestra ayuda nuevamente con respecto a esto.


Resulta que estaba probando el formulario que es PARA CONTACTAR AL DEALER y en Internet Explorer no me funciona, como lo tengo, o sea con esta condición:

Código PHP:
if (isset($_POST['submit'])) {...} 
En cambio, si la cambio a esta:

Código PHP:
if($HTTP_SERVER_VARS['REQUEST_METHOD']=="POST"
Si me funciona en ambos navegadores, pero no me diferencia si por ejemplo le doy ENVIAR en el formulario para recomendar a un amigo.

Que puedo hacer ahi? alguien sabe??

Gracias!


...2 horas y 30 minutos mas tarde...

yo si que jodo eh!!?

ya lo volvi a solucionar gracias a tu codigo SAGANXIS, os copio aqui lo que hice por si llega a servirle a alguien.

Código PHP:
if($HTTP_SERVER_VARS['REQUEST_METHOD']=="POST"
{
if ( 
$_POST['form_c'] == "f"
{
...} 
...} 
Y este fue el input que puse al final del FORM

Código HTML:
 <input type="hidden" name="form_c" value="f"> 
Bueno 3:30am, me voy a dormir, suficiente por hoy..
__________________
¿Dónde encontrar carros baratos en USA? En Autopten.

Última edición por SI TAN SOLO TUVIERA; 13/08/2007 a las 01:28 Razón: Copio solucion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:57.