Foros del Web » Programando para Internet » PHP »

Abrir Popup desde PHP

Estas en el tema de Abrir Popup desde PHP en el foro de PHP en Foros del Web. Hola, Tengo on formulario en HTML que llama a un PHP y éste, en función de si es o no correcto el formulario, envía varios ...
  #1 (permalink)  
Antiguo 04/03/2004, 06:18
 
Fecha de Ingreso: septiembre-2003
Mensajes: 49
Antigüedad: 14 años, 3 meses
Puntos: 0
Abrir Popup desde PHP

Hola,

Tengo on formulario en HTML que llama a un PHP y éste, en función de si es o no correcto el formulario, envía varios mensajes. En principio con echo. Pero esto lo que hace es que me desaparece la página HTML donde esté el formulario.

Entonces, en vez de enviar mensajes con echo, ¿cómo puedo hacer que el archivo PHP abra un Popup de, por ejemplo, "mensaje enviado"?

Archivo HTML:

<form action="procesadorform.php" method="post">
........
</form>

Archivo PHP procesadorform.php:

<?php
if ($submit) {
if($nombre && $organizacion && $telefono && $email )
{
if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email) )
{
echo "el correo no es valido<BR>";
}
else
{
mail("$destinatario","esto es una prueba","$textarea","From: $nombre <$email>") or die("email erroneo");
echo "Su mensaje ha sido enviado<BR>";
echo "a href=JavaScript:openNewWin_enviado()";
}
}
else
{
echo "debe rellenar todos los campos<BR>";
}
}
?>

Estoy intentándolo llamando a una función JavaScript, pero no me funciona.

¿Alguien me puede ayudar?

Gracias de antemano y un saludo.
  #2 (permalink)  
Antiguo 04/03/2004, 07:20
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero .. el problema que tienes de transfondo es de Javacript .. ya sabes que desde PHP vas a generar ese código HTML/javascript si se cumple tal condición de tu código PHP que al fin y al cabo lo que hace es "componer" tu página HTML .. así que intenta resolver el problema como si de una página HTML cualquiera se tratase (estática) con el javacript que requieras ...

Si enfocas este tipo de problemas así .. veras que te resultará más fácil encontrar la solución ...

En principio .. Javascript se llama en tu código HTML con sus etiquetas correspondientes ...

<script languaje="javascript">
window.open .....
</script>


pero insisito .. confirma todo esto en los foros correspondientes... PHP no abre ventanas como bien sabes .. solo "compone" código para el cliente y este lo interpretará según lo que entienda y le des.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 04/03/2004 a las 07:21
  #3 (permalink)  
Antiguo 04/03/2004, 15:25
 
Fecha de Ingreso: septiembre-2003
Mensajes: 49
Antigüedad: 14 años, 3 meses
Puntos: 0
Más o menos te sigo. Hay que decir que soy bastante principiante en PHP y Javascript.

Entiendo que si incluyo el código PHP en la misma página HTML donde está el formulario, me será muy fácil llamar a una función Javascript sin que me desaparezca mi página. Algo así como:

<form action="" method="post">
........
</form>

<?php
if($submit){
.....
if (loquesea){
mail("$destinatario","esto es una prueba","$textarea","From: $nombre <$email>") or die("email erroneo");
echo "Su mensaje ha sido enviado<BR>";
?> a href="javascript:openNewWin_enviado()"; <?php
}
......
}
?>

Pero de esta manera tengo un problema que es que la variable submit, cuando acccedo a la página, ya tiene el valor de un acceso anterior al formulario, por lo que antes de apretar el botón de envio, da por true la condición if($submit), por lo que ejecuta el código sin yo quererlo. Entonces se me plantea la siguiente duda. ¿Cómo puedo decirle que cada vez que acceda a la página, que la variable submit no tenga ningún valor hasta que se pulse el botón? ¿Se puede asignar un valor en el cliente?

Si sigo con la opción de dos ficheros qe planteo al principio, ¿Cómo puedo decirle a mi página html en el cliente que ejecute un determinado javascript si y solo si se cumple una condición en un archivo PHP que se ejecuta en el servidor?

Gracias por tu ayuda y un saludo.
  #4 (permalink)  
Antiguo 04/03/2004, 15:31
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Debes generar una página HTML completa .. con todas sus propiedades como la de <html><head><body> y demás .. y a partir de ahí usas los eventos de javacript .. por ejemplo el onLoad() en el <body> para llamar a una función javascript tuya al cargarse esa página que será la que PHP ha generado según la lógica de tu if () ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 21:00.