Foros del Web » Programando para Internet » PHP »

Error al redireccionar en formulario contacto

Estas en el tema de Error al redireccionar en formulario contacto en el foro de PHP en Foros del Web. Hola a todos, antes de nada decir, que ya habia visto algun post sobre este tema pero contestar sobre el mismo sería liar mas a ...
  #1 (permalink)  
Antiguo 03/04/2010, 14:50
Avatar de rodrypaladin
Moderador
 
Fecha de Ingreso: abril-2010
Ubicación: Madrid
Mensajes: 2.127
Antigüedad: 14 años, 7 meses
Puntos: 468
Error al redireccionar en formulario contacto

Hola a todos, antes de nada decir, que ya habia visto algun post sobre este tema pero contestar sobre el mismo sería liar mas a los que busquen información en ellos, asique por eso abro uno nuevo, os cuento mi problema

he realizado un formulario de contacto en php y el correo me lo envia todo correctamente pero estoy intentando a que al terminar me redireccione a una web, pero eso ya no lo consigo, y la verdad es que no se que estoy haciendo mal, os pego el codigo del enviar.php para ver si podeis echarme una mano.

Gracias de antemano, Rodry

Código PHP:
<?
$nombre 
$_POST['Nombre'];
$mail $_POST['Email'];
$empresa $_POST['Apellidos'];

$header 'From: ' $_POST['$Email'] . " \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 " $_POST['Nombre'] . ", " $_POST['$Apellidos'] . " \r\n";
$mensaje .= "Su e-mail es: " $_POST['Email'] . " \r\n";
$mensaje .= "Mensaje: " $_POST['texto'] . " \r\n";
$mensaje .= "Enviado el " date('d/m/Y'time());

$para '[email protected]';
$asunto 'Email de contacto de EscuelaProcan.es';

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

//Si el mensaje se envía muestra una confirmación 
echo("Muchas gracias, su mensaje fue enviado correctamente redireccionando..."); 
header('Location: http://www.escuelprocan.es/index.html');
?>
  #2 (permalink)  
Antiguo 03/04/2010, 15:04
 
Fecha de Ingreso: marzo-2009
Mensajes: 133
Antigüedad: 15 años, 7 meses
Puntos: 4
Respuesta: Error al redireccionar en formulario contacto

hola!

Supongo que esto esto te podría ayudar, si es que entendi el concepto.
sólo que al redireccionarse de forma inmediata el usuario no alcansaria a ver el mensaje.
Tendrías que buscar como agregar un delay.

Realmente no se si funcione un: sleep(10); antes del if
nunca lo he usado.


Código PHP:
$enviado=mail($para$asuntoutf8_decode($mensaje), $header); 

//Si el mensaje se envía muestra una confirmación  
echo("Muchas gracias, su mensaje fue enviado correctamente redireccionando...");  

if(
$enviado)
header('Location: http://www.escuelprocan.es/index.html'); 

suerte!
y luego me cuentas que paso con el sleep(10);
  #3 (permalink)  
Antiguo 03/04/2010, 15:50
Avatar de rodrypaladin
Moderador
 
Fecha de Ingreso: abril-2010
Ubicación: Madrid
Mensajes: 2.127
Antigüedad: 14 años, 7 meses
Puntos: 468
Respuesta: Error al redireccionar en formulario contacto

Hola vitro012, acabo de probar lo que me has dicho pero me salta un error... te lo pego

Warning: Cannot modify header information - headers already sent by (output started at /homepages/25/d312846501/htdocs/enviar.php:9) in /homepages/25/d312846501/htdocs/enviar.php on line 33

Y en la linea 33 sale esto
Cita:
header('Location: http://www.escuelprocan.es/index.html');
  #4 (permalink)  
Antiguo 03/04/2010, 15:52
Avatar de rodrypaladin
Moderador
 
Fecha de Ingreso: abril-2010
Ubicación: Madrid
Mensajes: 2.127
Antigüedad: 14 años, 7 meses
Puntos: 468
Respuesta: Error al redireccionar en formulario contacto

nsoe si me falta eso del sleep(10) pero no sabria donde ponerlo, se poquito php
  #5 (permalink)  
Antiguo 03/04/2010, 16:09
 
Fecha de Ingreso: marzo-2009
Mensajes: 133
Antigüedad: 15 años, 7 meses
Puntos: 4
Respuesta: Error al redireccionar en formulario contacto

intentalo quitando el mensaje

echo("Muchas gracias, su mensaje fue enviado correctamente redireccionando...");


Código PHP:
$enviado=mail($para$asuntoutf8_decode($mensaje), $header);  

if(
$enviado
header('Location: http://www.escuelprocan.es/index.html'); 


Creo que no debemos de poner salidas a pantalla antes del redireccionamiento


con lo cual el Sleep, ya no es necesario

saludos
  #6 (permalink)  
Antiguo 03/04/2010, 16:31
Avatar de rodrypaladin
Moderador
 
Fecha de Ingreso: abril-2010
Ubicación: Madrid
Mensajes: 2.127
Antigüedad: 14 años, 7 meses
Puntos: 468
Respuesta: Error al redireccionar en formulario contacto

nada compi!!... me da el mismo error:

Cita:
Warning: Cannot modify header information - headers already sent by (output started at /homepages/25/d312846501/htdocs/enviar.php:9) in /homepages/25/d312846501/htdocs/enviar.php on line 30
  #7 (permalink)  
Antiguo 03/04/2010, 16:48
Avatar de rodrypaladin
Moderador
 
Fecha de Ingreso: abril-2010
Ubicación: Madrid
Mensajes: 2.127
Antigüedad: 14 años, 7 meses
Puntos: 468
Respuesta: Error al redireccionar en formulario contacto

nose si tendrá algo que ver, pero te pego absolutamente todo lo que hay en el archivo php vale?

Cita:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>
<?
$nombre = $_POST['Nombre'];
$mail = $_POST['Email'];
$empresa = $_POST['Apellidos'];

$header = 'From: ' . $_POST['$Email'] . " \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 " . $_POST['Nombre'] . ", " . $_POST['$Apellidos'] . " \r\n";
$mensaje .= "Su e-mail es: " . $_POST['Email'] . " \r\n";
$mensaje .= "Mensaje: " . $_POST['texto'] . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());

$para = '[email protected]';
$asunto = 'Email de contacto de EscuelaProcan.es';

$enviado=mail($para, $asunto, utf8_decode($mensaje), $header);

if($enviado)
header('Location: http://www.escuelprocan.es/index.html');
?>

</body>
</html>
  #8 (permalink)  
Antiguo 03/04/2010, 17:34
 
Fecha de Ingreso: marzo-2009
Mensajes: 133
Antigüedad: 15 años, 7 meses
Puntos: 4
Respuesta: Error al redireccionar en formulario contacto

en el encabezado trata de usar las variables
$nombre, $mail y $empresa.

Además, $_POST['$Email']
no lleva el $ entre los corchetes [] debe de ser ['Email']

tal vez esa es la solución


intenta de nuevo con:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
Código PHP:
<?php
$nombre 
$_POST['Nombre'];
$mail $_POST['Email'];
$empresa $_POST['Apellidos'];

 


// Correo electronico 
  // encabezados
    
$headers  'MIME-Version: 1.0' "\r\n";
    
$headers .= 'Content-type: text/html; charset=iso-8859-1' "\r\n";
    
$headers .= 'From: empresa <[email protected]>' "\r\n";

// Creamos el cuerpo del mensaje
    
$cuerpo_mensaje='contenido del correo';

    
//enviamos correo
    
@$enviadomail($mail"asunto"$cuerpo_mensaje$headers);



//$enviado=true;
    
if($enviado)
header ("Location: http://www.google.com");  
?>
  #9 (permalink)  
Antiguo 04/04/2010, 05:12
Avatar de rodrypaladin
Moderador
 
Fecha de Ingreso: abril-2010
Ubicación: Madrid
Mensajes: 2.127
Antigüedad: 14 años, 7 meses
Puntos: 468
Respuesta: Error al redireccionar en formulario contacto

nada.... me sigue saliendo este error...

Cita:
Warning: Cannot modify header information - headers already sent by (output started at /homepages/25/d312846501/htdocs/enviar.php:9) in /homepages/25/d312846501/htdocs/enviar.php on line 34
y en la linea 34 esta justo esto

Cita:
header ("Location: http://www.google.com");
  #10 (permalink)  
Antiguo 04/04/2010, 10:56
 
Fecha de Ingreso: marzo-2009
Mensajes: 133
Antigüedad: 15 años, 7 meses
Puntos: 4
Respuesta: Error al redireccionar en formulario contacto

Yo lo probe y si funciono ¿?

que tienes en la línea 9?
at /homepages/25/d312846501/htdocs/enviar.php:9


comenta los encabezados e intenta de nuevo.

/*$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: empresa <[email protected]>' . "\r\n";
*/


además, supongo que tienes un formulario en otra página que envia los datos
$nombre = $_POST['Nombre'];
$mail = $_POST['Email'];
$empresa = $_POST['Apellidos'];

a ésta, ¿verdad?

Etiquetas: contacto, redireccionar, formulario
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 14:43.