Foros del Web » Programando para Internet » PHP »

Poner un JavaScript en un doc.php

Estas en el tema de Poner un JavaScript en un doc.php en el foro de PHP en Foros del Web. Hola Lo que quiero hacer es que cuando envio un formulario me de un mensaje de que ha sido realizada la operación. El mensaje es ...
  #1 (permalink)  
Antiguo 04/03/2004, 03:45
 
Fecha de Ingreso: enero-2002
Mensajes: 163
Antigüedad: 22 años, 3 meses
Puntos: 0
Poner un JavaScript en un doc.php

Hola
Lo que quiero hacer es que cuando envio un formulario me de un mensaje de que ha sido realizada la operación. El mensaje es un documento externo html. Todo esto ya lo tengo. La dificultad es que quiero que cuando abra el documento html este tenga un tamaño determinado y se cierre al poco tiempo automáticamente. Supongo que consista en poner una función JavaScript, pero no se como ponerla en el documento php.

El codigo es este: (el documeto que quiero abrir se llama respuesta)

Si alguien me puede ayudar le estaré gratamente agradecido.

un saludo

<?
if (phpversion() >= "4.2.0") {
if ( ini_get('register_globals') != 1 ) {
$supers = array('_REQUEST',
'_ENV',
'_SERVER',
'_POST',
'_GET',
'_COOKIE',
'_SESSION',
'_FILES',
'_GLOBALS' );

foreach( $supers as $__s) {
if ( (isset($$__s) == true) && (is_array( $$__s
) == true) ) extract( $$__s, EXTR_OVERWRITE );
}
unset($supers);
}
} else {
if ( ini_get('register_globals') != 1 ) {

$supers = array('HTTP_POST_VARS',
'HTTP_GET_VARS',
'HTTP_COOKIE_VARS',
'GLOBALS',
'HTTP_SESSION_VARS',
'HTTP_SERVER_VARS',
'HTTP_ENV_VARS'
);

foreach( $supers as $__s) {
if ( (isset($$__s) == true) && (is_array( $$__s
) == true) ) extract( $$__s, EXTR_OVERWRITE );
}
unset($supers);
}
}

if($email=="")
{
echo "No ingresaste la direcciÛn de correo electrÛnico";
exit();
}
$respuesta="respuesta.htm";

$para ="[email protected]";

$sujeto = "Formulario Presupuesto";

$encabezado = "From: $nombre <$email>";
$encabezado .= "\nReply-To: $email";
$encabezado .= "\nX-Mailer: PHP/" . phpversion();

$ip=$REMOTE_ADDR;

$mensaje .= "Nombre: $nombre\n";
$mensaje .= "Apellidos: $apellidos\n";
$mensaje .= "Empresa: $empresa\n";
$mensaje .= "Direccion: $direccion\n";
$mensaje .= "Localidad: $localidad\n";
$mensaje .= "CP: $cp\n";
$mensaje .= "Provincia: $provincia\n";
$mensaje .= "Pais: $pais\n";
$mensaje .= "Telefono: $telefono\n";
$mensaje .= "Fax: $fax\n";
$mensaje .= "E-mail: $email\n";
$mensaje .= "Disponibilidad: $disponibilidad\n";
$mensaje .= "Otros: $otros\n";
$mensaje .= "Origen: $origen\n";
$mensaje .= "Destino: $destino\n";
$mensaje .= "Tipo: $tipo\n";
$mensaje .= "Volumen: $volumen\n";
$mensaje .= "Numero: $numero\n";
$mensaje .= "Formato: $formato\n";
$mensaje .= "Fecha: $fecha\n";
$mensaje .= "Obsevaciones: $observaciones\n";
$mensaje .= "IP: $ip\n";

if(!mail($para, $sujeto, $mensaje, $encabezado))
{
echo "<h1>No se pudo enviar el Mensaje</h1>";
exit();
}
else
{
echo "<meta HTTP-EQUIV='refresh' content='1;url=$respuesta'>";
}
  #2 (permalink)  
Antiguo 04/03/2004, 06:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
pero .. vamos a ver...

quieres que cuando envies el e-mail .. esa redireccion que haces en tu:

echo "<meta HTTP-EQUIV='refresh' content='1;url=$respuesta'>";

esa página que llamas "$respuesta" te salga en lugar de una nueva página .. en una ventana?. Es eso?¿

Si es así .. ahí mismo .. en lugar de ese redireccionamiento que haces es donde deberías lanzar tu javascript de window.open(etc...) para abrir tu ventana con la llamada a tu $respuesta .. y no estaría de más redirecciona a su vez la página padre con otra página para no dejar el script ahí mismo.

Pero todo esto es Javascript NO PHP ..

Por ejemplo podría ser:
Código PHP:
if(!mail($para, $sujeto, $mensaje, $encabezado))
{
// Es recomendable que salgas del proceso del script hacia otra página .. ejemplo un error.php donde muestres ese mensaje de error .. 
header ("Location: error.php");
exit();

//echo "<h1>No se pudo enviar el Mensaje</h1>";
}
else
{
?>
<html>
<head>
<script languaje="javascript">
    function abre_ventana_ y_carga_padre(){
        window.open(.... tu $respuesta y definición ventana ..);
        window.opener.location='otrositio.tal';
    }
</script>
</head>
<body onLoad="abre_ventana_ y_carga_padre()">
</body>
</html>
<?
}
Los detalles de como cerrar la ventana a X tiempo (más javascritp que deberás emplear en tu página que abres en la ventana) y demás opciones de window.open() etc .. consultalos en el foro de Javascript ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 04/03/2004, 14:46
 
Fecha de Ingreso: enero-2002
Mensajes: 163
Antigüedad: 22 años, 3 meses
Puntos: 0
No me he explicado bien.
Hasta donde tengo hecho, cuando el mensaje del formulario ha sido enviado con exito hay una orden en PHP que manda abrir una página web donde pone "El mensaje ha sido enviado con exito". Lo malo es que el tamaño al que se abre esa página web es el que quiere. Yo lo que pretendo es que tenga un tamaño y apariencia concretas. Si la orden viniera de una página "normal" en html le metería una acción en javascript y listo. Pero como integro esa orden para controlar el tamaño en un documento php.


Gracias y perdona mi torpeza
  #4 (permalink)  
Antiguo 04/03/2004, 15:25
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Hall .ya te he comentado que PHP no manda abrir ventanas ni nada que ver con el navegador .. sólo "dá" salida a tu código que indiques uno u otro según tus condicionales y estructuras de control en general ..

Si te fijas en el código funete que generas actualmente si se cumple una u otra condición de tu if(mail ..) veras que estás generando una página -completa- .. Por eso te puse en el IF del caso "se envió el e.mail" una página HTML completa con código javascript que hace dos cosas .. abre una ventana (window.open) y recarga tu página padre para que no veas ahí una página en blaco (pero que si ves el código fuente veras ese código que ahí te puse textualmente).

Pregunta en el foro Javascrip como hacer una pagina que al abrirse abar un popup carge una página y que la página padre (la que llama al popup) cambie a otra página .. Cuando eso lo tengas claro en HTML "estático .. lo usas en tu IF del mail() .. EL código resultante será algo como lo que te propongo y que debes consultar como terminarlo en el foro de javascript por si no conoces como abrir una ventana .. y otros detalles.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 04/03/2004, 16:32
 
Fecha de Ingreso: enero-2002
Mensajes: 163
Antigüedad: 22 años, 3 meses
Puntos: 0
Muchísimas gracias. Estudiare con todo detenimiento lo que me has dicho.

Un saludo
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 18:45.