Foros del Web » Programando para Internet » PHP »

Formulario envia mail y redirecciona a otra pag

Estas en el tema de Formulario envia mail y redirecciona a otra pag en el foro de PHP en Foros del Web. Hola, Necesito hacer un formulario que tiene x campos y uno de esos campos es el nombre de la persona, luego cuando el usuario da ...
  #1 (permalink)  
Antiguo 26/01/2007, 04:29
 
Fecha de Ingreso: octubre-2004
Mensajes: 198
Antigüedad: 19 años, 6 meses
Puntos: 1
Formulario envia mail y redirecciona a otra pag

Hola,

Necesito hacer un formulario que tiene x campos y uno de esos campos es el nombre de la persona, luego cuando el usuario da click en eviar, se envia a una direccion de mail y luego redirecciona a otra pagina en donde se incluira el nombre de la persona en parte del texto.

Como puedo hacer para que el nombre que ingreso en el respectivo campo luego aparezca en parte del texto de la pagina final a la que redirecciona.

Ej: Felicitaciones [nombre apellido] por completar el formulario.

Gracias de antemano.
Saludos
__________________
La seguridad es la infinita inseguridad de lo seguro.
  #2 (permalink)  
Antiguo 26/01/2007, 04:45
 
Fecha de Ingreso: octubre-2005
Mensajes: 151
Antigüedad: 18 años, 6 meses
Puntos: 1
Re: Formulario envia mail y redirecciona a otra pag

Recoge la variable via GET en la pagina de felicitacion.
en el header pones>
$nombre=$_POST['nombre'];
header('pagina_felicitacion.php?nombre=$nombre;

PAGINA_FELICITACION.PHP>>>
$nombre=$_GET['nombre'];
echo "Felicitaciones ".$nombre." por completar el formulario";
  #3 (permalink)  
Antiguo 06/02/2007, 02:45
 
Fecha de Ingreso: octubre-2004
Mensajes: 198
Antigüedad: 19 años, 6 meses
Puntos: 1
Re: Formulario envia mail y redirecciona a otra pag

Hola,

Gracias por responder atiro8.
Pero no entiendo lo que dices, yo tengo el siguiente archivo enviarmail.php como se detalla en el siguiente tema:

http://www.forosdelweb.com/f18/envio-mail-las-faqs-no-funciona-461888/

Igualmente aqui lo copio.

<?php
include_once"functionmail.php";
$para = "[email protected]";
$subject = "Contacto formulario";
$body = "";
if(SendMAIL($para,$subject,$body,"$altbody","$mail FROM","$mailNameCompany")){
echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0;URL=http://www.midominio.com/gracias.php\">";
}
else{
echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0;URL=http://www.midominio.com/error.htm\">";
}
?>

Yo quiero que el campo $mailNameCompany que es el que contiene el nombre, que viene de un campo en el formulario, ese campo aparezca en el archivo hacia donde redirecciona, el archivo "gracias.php".

Espero alguna respuesta, gracias.
__________________
La seguridad es la infinita inseguridad de lo seguro.

Última edición por HHnn; 06/02/2007 a las 03:28
  #4 (permalink)  
Antiguo 06/02/2007, 11:56
 
Fecha de Ingreso: enero-2007
Ubicación: Mexico
Mensajes: 10
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Formulario envia mail y redirecciona a otra pag

Haz como te dice Atiro8:

Despues de que tienes tu formulario hecho:

ej: form_enviar_mail.html

Crea una nuevo documento php (ej: procesa_mail.php) y en ese archivo recojes todas las variables del formulario, pero antes debes de darte cuenta si llenaron todos los campos de no ser asi, mandales un mensaje que no han llenado los campos asi:

<?php
$dato1 = 'Te faltan llenar tus datos';
$dato2 = 'Tu dato' $_POST["nombre"] 'es correcto';
if (empty($_POST["nombre"])){
echo $dato1;
}
else {
echo $dato2;
}
?>

Ahora si, despues de que checaste que todos los campos han sido llenados, ahora si pegas el codigo php que tienes para mandarlo por email.

despues de que pegaste ya los dos trozos de codigo php, el de "revisar los campos" y el de "enviar por email", solo con un "echo", te mostrare un pequeño ejemplo:

<?php
*//En esta parte iria un IF donde pondrias si los datos del form, se han *//enviado correctamente para que pases al echo que te puse aqui enseguida
echo 'Felicitaciones' $_POST["nombre"] 'Haz enviado un email satisfactoriamente';
?>

Espero te aya ayudando en algo.

REGARDS
  #5 (permalink)  
Antiguo 06/02/2007, 17:44
 
Fecha de Ingreso: febrero-2007
Mensajes: 3
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Formulario envia mail y redirecciona a otra pag

No lo he probado, pero creo que te podría servir enviar el email en la misma pagina donde felicitas. Te ahorrarias bastantes problemas. Podria ser (sin incluir las comprobaciones)

Formulario.html
<form action="registrado.php" method="POST">
Nombre: <input type="text" name="nombre"><br>
Email: <input type="text" name="email"><br>
<input type="submit" value="Enviar">

Registrado.php
$nombre = $_POST['nombre'];
$email = $_POST['email'];

mail (...);
echo "Gracias " . $nombre . " por registrarse."


Con esto, podrías incluir un header a otra pagina.
Si lo que necesitas es que des las gracias en alguna pagina en especial, puedes ponerlo con un if:

if(isset($_POST['enviar'])){
mail(...);
}

Repito que no lo he probado (tengo algunos problemas con el servidor ahora mismo), pero creo que podría funcionar.

Suerte ;)
  #6 (permalink)  
Antiguo 06/02/2007, 18:16
 
Fecha de Ingreso: octubre-2004
Mensajes: 198
Antigüedad: 19 años, 6 meses
Puntos: 1
Re: Formulario envia mail y redirecciona a otra pag

Hola,

No puedo hacerlo funcionar, no se en que me equivoco.

Tengo por un lado el archivo "enviarmail.php" que se encarga de enviar el mail por medio de la clase phpmailer, este archivo contiene el siguiente codigo:

<?php
include_once"functionmail.php";
$para = "[email protected]";
$subject = "Contacto formulario";
$body = "";
if(SendMAIL($para,$subject,$body,"$altbody","$mail FROM","$mailNameCompany")){
echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0;URL=http://www.midominio.com/gracias.php\">";
}
else{
echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0;URL=http://www.midominio.com/error.htm\">";
}
?>

Pero le agregue el codigo que dice atiro8 y quedo asi:

<?php
$mailNameCompany = $_POST['mailNameCompany'];
header('gracias.php?mailNameCompany=$mailNameCompa ny;
include_once"functionmail.php";
$para = "[email protected]";
$subject = "Contacto formulario";
$body = "";
if(SendMAIL($para,$subject,$body,"$altbody","$mail FROM","$mailNameCompany")){
echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0;URL=http://www.midominio.com/gracias.php\">";
}
else{
echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0;URL=http://www.midominio.com/error.htm\">";
}
?>

mailNameCompany es el campo que contiene el nombre.

Y por otro lado tengo el archivo "gracias.php" que contiene el siguiente codigo:

<?php
$mailNameCompany=$_GET['mailNameCompany'];
echo "Felicitaciones ".$mailNameCompany." por completar el formulario";
?>

Con todo esto me aparece el siguiente error luego de hacer click en enviar en el formulario:

Parse error: syntax error, unexpected $end in /home/ur000494/public_html/enviarmail.php on line 14

No se que sucede.

Espero alguna respuesta, y gracias por responder.

Saludos
__________________
La seguridad es la infinita inseguridad de lo seguro.
  #7 (permalink)  
Antiguo 06/02/2007, 18:28
 
Fecha de Ingreso: abril-2004
Mensajes: 49
Antigüedad: 20 años
Puntos: 1
Re: Formulario envia mail y redirecciona a otra pag

Cita:
Cita:
Iniciado por HHnn Ver Mensaje
<?php
$mailNameCompany = $_POST['mailNameCompany'];
header('gracias.php?mailNameCompany=$mailNameCompa ny');


...

Parse error: syntax error, unexpected $end in /home/ur000494/public_html/enviarmail.php on line 14

....
Hola :) el error unexpected $end ocurre siempre que no has cerrado algún paréntesis o corchetes o llaves y por eso está esperando que aparezca el condenado carácter :P
ahi te marqué en rojo el error.
en cuanto a si funciona o no no me fijé perdona mi vagancia
__________________
OS: Win 2k pc: duron 1800+ 384mb ram dimm
mother: pcchips.. creo
3d: geforce 4 fx5200 128mb
audio: philips seismic edge psc705
  #8 (permalink)  
Antiguo 06/02/2007, 19:15
 
Fecha de Ingreso: octubre-2004
Mensajes: 198
Antigüedad: 19 años, 6 meses
Puntos: 1
Re: Formulario envia mail y redirecciona a otra pag

Hola,

Ahora ya se fue el error de php, pero aparece un error del server:

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, [email protected] and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.


Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.


--------------------------------------------------------------------------------

Apache/1.3.37 Server at midominio.com Port 80




Que significa????

Saludos
__________________
La seguridad es la infinita inseguridad de lo seguro.
  #9 (permalink)  
Antiguo 07/02/2007, 14:51
 
Fecha de Ingreso: octubre-2004
Mensajes: 198
Antigüedad: 19 años, 6 meses
Puntos: 1
Re: Formulario envia mail y redirecciona a otra pag

Lo probe en otro servidor y funciona, pero no muestra el nombre de la persona, no hace lo que yo quiero que haga, solamente aparece este mensaje:

Felicitaciones por completar el formulario

Pero tendria que mostrar tambien el nombre de la persona.

ej: Felicitaciones Nombre por llenar el formulario.

No se porque en un servidor me aparece un error de Apache, y en otro servidor funciona pero mal.

Espero alguna respuesta, gracias.

Saludos
__________________
La seguridad es la infinita inseguridad de lo seguro.

Última edición por HHnn; 07/02/2007 a las 17:12
  #10 (permalink)  
Antiguo 08/02/2007, 04:26
 
Fecha de Ingreso: octubre-2004
Mensajes: 198
Antigüedad: 19 años, 6 meses
Puntos: 1
Re: Formulario envia mail y redirecciona a otra pag

??????????
__________________
La seguridad es la infinita inseguridad de lo seguro.
  #11 (permalink)  
Antiguo 08/02/2007, 04:55
 
Fecha de Ingreso: abril-2004
Mensajes: 49
Antigüedad: 20 años
Puntos: 1
Re: Formulario envia mail y redirecciona a otra pag

Supongo que lo que te falta es enviar la variable GET que se supone que tu archivo gracias.php estaría obteniendo, pero que no aparece en enviarmail.php
Edit: Además detecté un error en tu echo. No tomaste en cuenta las comillas dobles de los redirect cuando las mostrabas con echo, de ahi el error de servidor.

Te escribiría bien lo que corresponde pero aún no puedo escribir URLS porque no me da la cantidad de posts en este foro, sin embargo, reemplaza abajo con tu URL.

En enviarmail.php deberías agregar/modificar lo que pongo en rojo:
Código:
echo '<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0;URL=TU_URL_ACA/gracias.php?mailNameCompany='.$mailNameCompany.'\">';
} 
Espero que te sirva :) Saludos
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 02:24.