Foros del Web » Programando para Internet » PHP »

abrir nueva página al enviar un formulario

Estas en el tema de abrir nueva página al enviar un formulario en el foro de PHP en Foros del Web. Hola, No sé si debo preguntar aquí, pero tengo un formulario hecho con dw q me envía la información recogida a mi email. Cuando le ...
  #1 (permalink)  
Antiguo 25/08/2005, 07:29
 
Fecha de Ingreso: agosto-2005
Mensajes: 77
Antigüedad: 12 años, 4 meses
Puntos: 0
abrir nueva página al enviar un formulario

Hola,

No sé si debo preguntar aquí, pero tengo un formulario hecho con dw q me envía la información recogida a mi email. Cuando le das a "enviar" valida algunos campos y ´lo envía, pero no sé cómo hacer q te dirija a otra página donde se agradezca dicho envío. No el típico mensaje emergente, sino una página a parte que diga gracias por tal y cual.

Lo he probado con el comportamiento "ir a url" pero entonces ni envía el form ni valida nada (bueno sale el mensaje de q los datos introducidos no son correctos pero salta igualmente a la otra página sin esperar a q se modifiquen.)

¿Sabeis cómo se hace?
Muchas gracias.
  #2 (permalink)  
Antiguo 25/08/2005, 22:41
 
Fecha de Ingreso: noviembre-2002
Ubicación: Montevideo, Uruguay
Mensajes: 108
Antigüedad: 15 años
Puntos: 0
Cuando te refieres al típico mensaje emergente te refieres al comportamiento abrir ventana del navegador?
Si lo utilizas te abre una nueva ventana y te envía el correo sin problemas.

Con solo html creo que tenemos esa opción.
ojo, otra persona tal vez sepa más y te aporte una mejor solución
Salu2
  #3 (permalink)  
Antiguo 26/08/2005, 20:13
Avatar de ivaanadame  
Fecha de Ingreso: agosto-2005
Ubicación: México
Mensajes: 141
Antigüedad: 12 años, 3 meses
Puntos: 0
NO SE SI DEBA PERO YA LO ESTOY HACIENDO

mira este codigo te va a servir para que puedas enviar información a tu email sin que abra la ventana de Outlook, mira lo que tienes que hacer es copiarlo y pegarlo en el block de notas y guardarlo como enviar.php y luego en el formulario que hisiste tienes que ponerle en accion=enviar.php y tienes que hacer una pagina que se llame gracias.htm o como tu quieras, en la parte de abajo del codigo dice esto:
<SCRIPT LANGUAGE="javascript">
location.href = 'gracias.htm';
</SCRIPT>
bueno ahi es donde vas a poner la pagina donde des las gracias...



<?php

$ip = $REMOTE_ADDR;
$referido = getenv("HTTP_REFERER");

$limite = 80000;

if(!isset($HTTP_POST_VARS["email"]))
{
?>
<SCRIPT LANGUAGE="javascript">
alert("Servidor Ocupado");
history.go(-1);
</SCRIPT>
<?
}
else
{

$mensaje = "Contacto desde su Web Site\n\n";

while (list($variable, $contenido) = each($HTTP_POST_VARS))
{
if($variable != "archivo")
{
$mensaje .= $variable." = ".stripslashes($contenido);
$mensaje .= "\n";
}
}
$mensaje .= "\n";
$mensaje .= "Informacion Adicional:\n\n";
$mensaje .= "Enviado Desde: ".$referido."\n";
$mensaje .= "IP: ".$ip;
$mensaje .= "\n\Studionet Ideas Inteligentes|| /";

$cabeceras = "From: Ivaan Adame <[email protected]>\n";
$cabeceras .= "Reply-To: $email\n";


$cabeceras .= "MIME-version: 1.0\n";
$cabeceras .= "Content-type: multipart/mixed; ";
$cabeceras .= "boundary=\"Message-Boundary\"\n";
$cabeceras .= "Content-transfer-encoding: 7BIT\n";

$body_top = "--Message-Boundary\n";
$body_top .= "Content-type: text/plain; charset=US-ASCII\n";
$body_top .= "Content-description: Mail message body\n\n";

$cuerpo = $body_top.$mensaje;

$cuerpo .= "\n\n--Message-Boundary\n";
$cuerpo .= "--Message-Boundary--\n";

mail($email,$asunto,$cuerpo,$cabeceras);

?>
<SCRIPT LANGUAGE="javascript">
location.href = 'Gracias.htm';
</SCRIPT>
<?
}
?>


no se si me explique pero espero que tengas muchas suerte recuerda, te lo estoy poniendo en charola de plata...
__________________
Recetas de Cocina | http://www.comidasypostres.com
  #4 (permalink)  
Antiguo 30/08/2005, 11:03
 
Fecha de Ingreso: agosto-2005
Mensajes: 77
Antigüedad: 12 años, 4 meses
Puntos: 0
Hola!!
Lo de "no se si debo..." era porque no sabía en que lenguaje se podía hacer ni cuál era el foro adecuado. Mil gracias por el código, pero no sé por qué siempre sale el mensaje "servidor ocupado". Y además ¿dónde debo definir la variable mail? Perdona q sea tan torpe pero estoy empezando ahora y me falta mucho por aprender todavía.
  #5 (permalink)  
Antiguo 30/08/2005, 11:57
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 15 años, 10 meses
Puntos: 771
Hola a todos.

Como al final parece que se ha resuelto con PHP, muevo el mensaje a ese foro desde Editores Web.

Saludos,
  #6 (permalink)  
Antiguo 30/08/2005, 12:12
Avatar de radarcba  
Fecha de Ingreso: mayo-2005
Ubicación: ureleando
Mensajes: 505
Antigüedad: 12 años, 7 meses
Puntos: 3
Yo uso un codigo asi:
Código PHP:
<?php 
   
// TRAIGO LOS VALORES DE LOS CAMPOS DE MI FORMULARIO
   
$link=Conectarse(); 
   
$codigo=$_GET['Id']; 
   
$nombre=$_GET['nombre']; 
   
$apellido=$_GET['apellido']; 
   
$email=$_GET['email'];
   
$evaluacion=$_GET['evaluacion']; 
   
$mensaje=$_GET['mensaje'];
   
$fechatime();
   
$hr date("H",$fecha) - 5;
   
$hora$hr.":".date("i:s",$fecha); 
   
$diadate("d/m/Y",$fecha);
     
   
//LOS GUARDO EN LA BD
   
mysql_query("insert into lenceria (nombre,apellido,email,evaluacion,fecha,hora,mensaje) values ('$nombre','$apellido','$email','$evaluacion','$dia','$hora','$mensaje')",$link);
    
//GENERO EL CODIGO HTML QUE VA A SER ENVIADO POR CORREO
$codigohtml '

<html>
<head>
<title>E-Mail HTML</title>
</head>
<body>
<table width="570" border="0">
  <tr>
    <td>Este mensaje viene del Buzón de Sugerencias de Lenceria</td>
  </tr>
  <tr>
    <td bgcolor="#CCCCCC">Lo mando: ' 
$nombre ' ' $apellido '. E-mail: ' $email .'</td>
  </tr>
  <tr>
    <td bgcolor="#CCCCCC">el dia ' 
$dia '</td>
  </tr>
   <tr>
    <td bgcolor="#CCCCCC">y dice lo siguiente: ' 
$mensaje '</td>
  </tr>
</table></body>'
;
//CAMPOS PARA EL MAIL
$elmail '[email protected]';
$asunto 'Buzon Lenceria';
$cabeceras "Content-type: text/html\r\n";
//ENVIO EL MAIL
mail($elmail,$asunto,$codigohtml,$cabeceras); 

//ACA ME FIJO SI EL MAIL SALIO CORRECTAMENTE
//Y MUESTRO EN LA MISMA VENTANA LA CONFIRMACION
if(mail){
echo 
'
<html><head>
<script language="JavaScript">
function cerrar() {
var ventana = window.self;
ventana.opener = window.self;
parent.close();
}
</script>
</head>
<body>
<table width="356" border="0">
  <tr>
    <td width="350" height="5"><div align="center"><img src="enc_lenceria.gif" width="350" height="95"></div></td>
  </tr>
  <tr>
    <td height="5">
    <br></td>
  </tr>
  <tr>
    <td height="5" ><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:12px" color="#000000"><b>Gracias</b></font> </div></td>
  </tr>
  <tr>
    <td height="6" ><font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:12px" color="#000000"><div align="center"><b>'
.$nombre.' '.$apellido.'</b></div></font></td>
  </tr>
  <tr>
    <td height="13" ><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:12px" align="center" color="#000000"><b>Por opinar.</b> </font></div></td>
  </tr>
  <tr>
    <td height="2" bgcolor="#Cccccc"><img src="pie.gif" width="350" height="6"></td>
    </tr>
    <tr>
    <td height="6" ><div align="center">&nbsp;</div></td>
  </tr>
  <tr>
    <td height="6" "><div align="center">&nbsp;</div></td>
  </tr>
        <tr>
        <tr>
    <td height="6" "><div align="center">&nbsp;</div></td>
  </tr>
        <tr>
        <tr>
    <td height="6" "><div align="center">&nbsp;</div></td>
  </tr>
        <tr>
        <tr>
    <td height="6" "><div align="center">&nbsp;</div></td>
  </tr>
        <tr>
  <td height="2" ><div align="center"><input type="submit" name="Submit" value="Cerrar Ventana" onClick="cerrar();"></div></td>
  </tr>
    </table>
</body>
'
;
}else{
echo 
"Error. Presione el Botón 'ATRAS' de su navegador e intentelo nuevamente. GRACIAS";

 
?>
Esta es la ventana a la que paso al presionar "Enviar" desde mi formulario.
o sea la que va en el ACTION del Formulario.
__________________
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




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