Foros del Web » Creando para Internet » Diseño web »

Enviar formulario y reflejar respuesta en popup

Estas en el tema de Enviar formulario y reflejar respuesta en popup en el foro de Diseño web en Foros del Web. Hola comunidad! Resulta que estoy haciendo una pagina web en html y me han pedido colocar un formulario en la seccion de contacto. Mis conocimientos ...
  #1 (permalink)  
Antiguo 02/10/2008, 00:06
 
Fecha de Ingreso: mayo-2008
Mensajes: 4
Antigüedad: 9 años, 7 meses
Puntos: 0
Sonrisa Enviar formulario y reflejar respuesta en popup

Hola comunidad!

Resulta que estoy haciendo una pagina web en html y me han pedido colocar un formulario en la seccion de contacto.

Mis conocimientos no son muy amplios en programacion, pero realize el formulario en dreamweaver y consegui un script php para enviar la informacion. El script php tiene el siguiente codigo:

Código:
<?

$receptor = $remitente;


while(list($nombre_campo, $valor_campo ) = each($HTTP_POST_VARS )) {
strtolower ($nombre_campo);

if(is_array($valor_campo)){
$msg .= ucfirst($nombre_campo).": \n";

while (list ($val) = each ($valor_campo)) {
$msg .= $val."\n";
}
$msg .= "\n";
}else{
if($nombre_campo != "submit" && $nombre_campo !="receptor" && $nombre_campo !="remitente" && $nombre_campo !="tema" && $nombre_campo !="redireccion"){
$msg .= ucfirst($nombre_campo).": ".$valor_campo."\n\n"; }
}

}

$msg .= "----------------------------------------------\n";
$msg .= "USER AGENT: ".$HTTP_USER_AGENT."\n";
$msg .= "IP: ".$REMOTE_ADDR."\n";

mail($receptor,"Comentarios desde Pagina Web ",$msg,"From: $receptor");

?>
Hasta ahi todo va bien, pero en el html donde tengo el formulario, tengo la accion de buscar el php en otra direccion tipo: www.otrohosting.com/mail.php (porque donde esta alojada esa pagina no tolera php). y de target _blank.

En resumen, todo funciona bien, pero mi cliente me ha dicho que no le parece que al enviar el formulario se abra una nueva ventana que no juega con el diseño de la pagina web que diga que el mensaje ha sido enviado y que en la ventana original se quede el formulario lleno en ves de haberse borrado al momento de enviarse.

Asi que me solicito, que pudiera enviarse el formulario y que en la misma pagina con el diseño que tiene el html se pueda apreciar que el formulario se envio y que este a la ves se limpie por si se quisiera enviar otro mensaje.

Tambien se me ocurria poder abrir el mensaje del php en un pop up, pero no logro hacer que ese mensaje del php ("El mensaje ha sido enviado exitosamente!") me salga en un pop up, solo me sale en la ventana normal, pero es mucha ventana para tan poco texto.

No se si ustedes pudieran ayudarme, ya que el boton de enviar tiene la siguiente programacion:

Código:
<input name="enviar2" type="submit" id="enviar2" onclick="MM_validateForm('nombre','','R','telefono','','R','email','','R');return document.MM_returnValue" value="Enviar" />
No se que mas debo de agregarle para que abra el php en popup. Estuve revisando unos generadores de codigo para popup, pero solo me salio con un link, pero con este boton de formulario no he logrado hacerlo.

Ademas, hay algun codigo para que al momento de enviar el formulario, este se borre? (recuerden que el php no se abrira en la misma ventana).

Espero que puedan ayudarme.

De antemano, muchisimas gracias!

Nomaster!
  #2 (permalink)  
Antiguo 02/10/2008, 10:29
Avatar de radarcba  
Fecha de Ingreso: mayo-2005
Ubicación: ureleando
Mensajes: 505
Antigüedad: 12 años, 7 meses
Puntos: 3
Respuesta: Enviar formulario y reflejar respuesta en popup

Código PHP:
mail($receptor,"Comentarios desde Pagina Web ",$msg,"From: $receptor"); 
Podes poner en donde tenes el php de envio de mail:

Código PHP:
mail($receptor,"Comentarios desde Pagina Web ",$msg,"From: $receptor");

header("Location:laURLdelformulario");
exit(); 
Aunque este en otro servidor te redirige a la original.
__________________
Maldición va a ser un día hermoso... PR
Tetris, correo & TU IP
  #3 (permalink)  
Antiguo 02/10/2008, 10:54
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.711
Antigüedad: 12 años, 7 meses
Puntos: 833
Respuesta: Enviar formulario y reflejar respuesta en popup

Para enviar el formulario al popup puedes revisar este artículo por caricatos:
http://www.maestrosdelweb.com/editorial/formenlaces/
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #4 (permalink)  
Antiguo 02/10/2008, 13:14
 
Fecha de Ingreso: mayo-2008
Mensajes: 4
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Enviar formulario y reflejar respuesta en popup

Cita:
Iniciado por radarcba Ver Mensaje
Código PHP:
mail($receptor,"Comentarios desde Pagina Web ",$msg,"From: $receptor"); 
Podes poner en donde tenes el php de envio de mail:

Código PHP:
mail($receptor,"Comentarios desde Pagina Web ",$msg,"From: $receptor");

header("Location:laURLdelformulario");
exit(); 
Aunque este en otro servidor te redirige a la original.
Muchas gracias por tu respuesta.

Cambie el codigo final por el que me diste, pero de igual forma, despues de enviar el formulario se queda en la pantalla del php y no me redirige a ningun lado.

Podrias verificar mi codigo?

Código:
mail($receptor,"Comentarios desde Pagina Web ",$msg,"From: $receptor");
header("Location:http://www.exploreguatemala.info/index.html");
exit();
Si quisieras ver como funciona actualmente ingresa a:
http://www.exploreguatemala.info/contactenos2.html
(aun no puedo publicar links en el foro por restriccion).

Espero tu respuesta.

Muchas gracias!
  #5 (permalink)  
Antiguo 02/10/2008, 13:54
Avatar de radarcba  
Fecha de Ingreso: mayo-2005
Ubicación: ureleando
Mensajes: 505
Antigüedad: 12 años, 7 meses
Puntos: 3
Respuesta: Enviar formulario y reflejar respuesta en popup

Proba de poner javascript, es otra solución.
Javascript:

Código HTML:
<script language="javascript">
  <!--
    window.location.href = "http://www.exploreguatemala.info/index.html" ;
  // -->
</script> 
Pero como va en un php tenes que insertarlo así:

Código PHP:
echo '<script language="javascript">
    window.location.href = "http://www.exploreguatemala.info/index.html" ;
</script>'

__________________
Maldición va a ser un día hermoso... PR
Tetris, correo & TU IP
  #6 (permalink)  
Antiguo 02/10/2008, 14:19
 
Fecha de Ingreso: mayo-2008
Mensajes: 4
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Enviar formulario y reflejar respuesta en popup

Pero ese codigo en ves de que lo pongo? o solo lo agrego?
  #7 (permalink)  
Antiguo 02/10/2008, 14:58
Avatar de radarcba  
Fecha de Ingreso: mayo-2005
Ubicación: ureleando
Mensajes: 505
Antigüedad: 12 años, 7 meses
Puntos: 3
Respuesta: Enviar formulario y reflejar respuesta en popup

saca el header("Location:...."); e inserta el echo '<script...... ';
__________________
Maldición va a ser un día hermoso... PR
Tetris, correo & TU IP
  #8 (permalink)  
Antiguo 02/10/2008, 15:50
 
Fecha de Ingreso: mayo-2008
Mensajes: 4
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Enviar formulario y reflejar respuesta en popup

Me ha funcionado correctamente.

Ahora si me redirecciona a una nueva pagina.

Muchas gracias!

Ahora otra pregunta, como puedo hacer para que cuando me llegue el formulario figure de remitente el correo que ingresaron en el formulario? ya que actualmente me sale el mismo email receptor del formulario y a la hora de darle responder logicamente responde pero a la direccion del receptor y no del remitente.

Muchas gracias!

Nomaster!
  #9 (permalink)  
Antiguo 02/10/2008, 16:14
Avatar de radarcba  
Fecha de Ingreso: mayo-2005
Ubicación: ureleando
Mensajes: 505
Antigüedad: 12 años, 7 meses
Puntos: 3
Respuesta: Enviar formulario y reflejar respuesta en popup

Reemplaza:
Código PHP:
mail($receptor,"Comentarios desde Pagina Web ",$msg,"From: $receptor"); 
Por:

Código PHP:
  $responderA"mail para responder";
  
$head .="FROM: Sitio.com<[email protected]>\n";
  
$head .="Reply-To: <".$responderA.">\r\n";

mail($receptor,"Comentarios desde Pagina Web ",$msg,$head); 
Probalo y contanos como te fue!
__________________
Maldición va a ser un día hermoso... PR
Tetris, correo & TU IP
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 13:29.