Foros del Web » Programando para Internet » PHP »

abrir mensaje 'echo' en un pop up

Estas en el tema de abrir mensaje 'echo' en un pop up en el foro de PHP en Foros del Web. Hola que tal, estoy empezando a usar PHP para enviar formularios y tengo una consulta que hacerles: La última línea de código de mi archivo.php ...
  #1 (permalink)  
Antiguo 26/02/2014, 14:58
Avatar de siddartha23  
Fecha de Ingreso: septiembre-2013
Mensajes: 357
Antigüedad: 10 años, 7 meses
Puntos: 39
abrir mensaje 'echo' en un pop up

Hola que tal, estoy empezando a usar PHP para enviar formularios y tengo una consulta que hacerles:

La última línea de código de mi archivo.php hace que al enviar los datos del formulario se refresque la ventana y salga el mensaje: "Mensaje enviado correctamente", este mensaje sale en una horrible ventana blanca y yo no quiero que sea así, me gustaría que ese mensaje aparezca en la misma ventana ,si se puede personalizar esa ventana mucho mejor, lo que quiero evitar es que el usuario salga de mi web.

El botón con la función javascript que estoy usando para enviar el formulario es este:
Código:
<a href="javascript:enviar_formulario()" class="boton">Enviar mensaje</a>
Código:
<script> 
function enviar_formulario(){ 
   document.formulario.submit() 
} 
</script>
y el php es el siguiente:

Código PHP:
<?php
$nombre 
$_POST['nombre'];
$mail $_POST['mail'];
$asunto $_POST['asunto'];

$header 'From: ' $mail " \r\n";
$header .= "X-Mailer: PHP/" phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje "Este mensaje fue enviado por " $nombre ",
 con el asunto " 
$asunto " \r\n";
$mensaje .= "Su e-mail es: " $mail " \r\n";
$mensaje .= "Mensaje: " $_POST['mensaje'] . " \r\n";
$mensaje .= "Enviado el " date('d/m/Y'time());

$para '[email protected]';
$asunto 'Mensaje desde mipagina.com';

mail($para$asuntoutf8_decode($mensaje), $header);

echo 
'Mensaje enviado correctamente';
?>
  #2 (permalink)  
Antiguo 26/02/2014, 15:28
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 22 años, 4 meses
Puntos: 16
Respuesta: abrir mensaje 'echo' en un pop up

una opcion sería usar jQuery, busca https://api.jquery.com/jQuery.post/
  #3 (permalink)  
Antiguo 26/02/2014, 16:41
 
Fecha de Ingreso: febrero-2010
Mensajes: 49
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: abrir mensaje 'echo' en un pop up

En tu formulario agregale el atributo target="_BLANK" a tu formulario solo eso. Salvo porque el navegador tenga bloqueador de popups te va a funcionar bien.
  #4 (permalink)  
Antiguo 26/02/2014, 18:24
Avatar de siddartha23  
Fecha de Ingreso: septiembre-2013
Mensajes: 357
Antigüedad: 10 años, 7 meses
Puntos: 39
Respuesta: abrir mensaje 'echo' en un pop up

Cita:
Iniciado por sjam7 Ver Mensaje
una opcion sería usar jQuery, busca [url]https://api.jquery.com/jQuery.post/[/url]
Es una buena opción, pero en estos momentos estoy buscando una solución en php para no liarme aprendiendo tantos lenguajes a la vez, gracias.

Cita:
Iniciado por yamatadvd2000 Ver Mensaje
En tu formulario agregale el atributo target="_BLANK" a tu formulario solo eso. Salvo porque el navegador tenga bloqueador de popups te va a funcionar bien.
Cuando utilizo ese atributo me abre el mensaje en una nueva pestaña, por el momento me sirve así gracias.

El detalle es que cuando yo decía pop up me refería más bien a esas ventanas tipo "alert" de javascript, que no me parecen muy molestas ¿Alguién que sepa como implementar ese alert en archivo.php,? mil gracias.
  #5 (permalink)  
Antiguo 26/02/2014, 19:32
lolainas
Invitado
 
Mensajes: n/a
Puntos:
funcion enviar_formulario{
document.formulario.submit();
alert('mensaje enviado con exito');
}
  #6 (permalink)  
Antiguo 26/02/2014, 20:05
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: abrir mensaje 'echo' en un pop up

La solución no es Javascript, a menos que lo hagas por medio de AJAX.

Cuando ejecutas un formulario, automáticamente el navegador se dirige a la URL especificada en el action, la respuesta enviada por el script es lo que mostrará el navegador.

Entonces, si solo pones un mensaje y el resto de la página en blanco, así se verá en la misma ventana o en ventana nueva (pop-up).

P = Qué necesitas?

R1 = Crear una página completa, con el mismo diseño de tu web, aunque el contenido sea solo el mensaje de confirmación

R2 = Usar AJAX para procesar el formulario (alguien ya sugirió jquery) y mostrar la respuesta con una alerta (javasript) o "ventana modal" (javascript + html + css)
__________________
- León, Guanajuato
- GV-Foto
  #7 (permalink)  
Antiguo 26/02/2014, 22:27
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: abrir mensaje 'echo' en un pop up

la otra forma es un div.. que pongas oculto y cuando haces esos imprimas el div sobre toda la pagina web...
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #8 (permalink)  
Antiguo 26/02/2014, 23:47
Avatar de siddartha23  
Fecha de Ingreso: septiembre-2013
Mensajes: 357
Antigüedad: 10 años, 7 meses
Puntos: 39
Respuesta: abrir mensaje 'echo' en un pop up

Gracias por las sugerencias.

Lolainas, usé el 'alert' en la función de javascript pero igual después de cerrar el 'alert' sigue saliendo otra pestaña con el mensaje de php.

Lo que necesito hacer es lo que dice Triby en su respuesta 2, una especie de ventana modal que se cierre presionando 'Esc' y no salten mas ventanas, veo que voy a tener aprender algo de AJAX , todo un reto, gracias!!
  #9 (permalink)  
Antiguo 27/02/2014, 11:28
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: abrir mensaje 'echo' en un pop up

como te dije la ventana modal para evitar los pop up puede ser un div que aparezca cuando la ventana este onload... y que pueda cerrarse pasado 15 segundos o ocultarse, o con un evento onclick sobre una imagen en forma de "X"
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB

Etiquetas: formulario, popup, submit
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 10:44.