PHP - Cannot modify header information - headers already sent by

 
Vista:

Cannot modify header information - headers already sent by

Publicado por alfmar01 (11 intervenciones) el 21/05/2013 11:13:20
Estimados colegas;
Me sale este error cuando relleno y envio un formulario a una base de datos y a un mail:

Warning: Cannot modify header information - headers already sent by (output started at /home/mi_usuario/public_html/procesar.php:1) in /home/mi_usuario/public_html/procesar.php on line 38

No redirecciona al 'header' que deseo indicado en el siguiente código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
	include_once ('includes/funcionesDB.php');
 
	if (isset($_POST) && !empty ($_POST)){
 
		$nombre = $_POST['nombre'];
		$email = $_POST['email'];
		$empresa = $_POST['empresa'];
		$mensaje = $_POST['mensaje'];
 
		$nombre = addslashes($nombre);
		$email = addslashes($email);
 
	if($nombre != ''){
	conectar();
 
		$sql = "INSERT INTO contactos (nombre, email, empresa, mensaje)
			VALUE ('".$nombre."','".$email."','".$empresa."','".$mensaje."')";
 
		$inserta = mysql_query($sql);
		if(!$inserta) echo 'no funciona';
 
// desde aqui envio este contacto a los email de la variable de destino
 
	if (!isset($_POST['email'])) {
 
	}else{
 
	$mensaje="DESDE EL FORMULARIO DE CONTACTO DE MI WEB";
 	$mensaje.= "\nNombre: ". $_POST['nombre'];
 	$mensaje.= "\nEmail: ". $_POST['email'];
 	$mensaje.= "\nEmpresa: ".$_POST['empresa'];
 	$mensaje.= "\nMensaje: \n".$_POST['mensaje'];
  	$destino= "email@gmail.com";
  	$remitente = $_POST['email'];
  	$asunto = "Mensaje enviado por: ".$_POST['nombre'];
 	mail($destino,$asunto,$mensaje,"FROM: $remitente");
	header("Location:gracias.html");
	}
	}
	desconectar();
	}
?>


Una vez procesado queda en pantalla el error que he descrito, y esto me ocurre en la nube, es decir, en local funciona way.
Podéis ayudarme.
Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Cannot modify header information - headers already sent by

Publicado por xve (6935 intervenciones) el 21/05/2013 16:25:54
Hola Alfmar01, este error: Warning: Cannot modify header information - headers already sent by aparece cuando intentas saltar de página con header("Location:..., pero ya has enviando contenido al navegador del usuario... ya sea código html, un echo "...", ...

Revisa que en ningún lugar anterior al header("Location:..., ya sea en la misma pagina o en includes, no muestres nada por pantalla.

Espero que te sirva... Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar