PHP - Cannot modify header information

 
Vista:

Cannot modify header information

Publicado por sandra (60 intervenciones) el 18/06/2007 16:58:38
Hola me da este error
Warning: Cannot modify header information - headers already sent by (output started at /var/www/josemaria/upload.php:2) in /var/www/josemaria/upload.php on line 33

este es mi codigo gracias:
LO QUE QUIERO HACER ES RELLENAR EL FORMULADIO Y SUBIR LA FOTO, PARA QUE SE QUEDE GRABADO EN LA BASE DE DATOS MYSQL.

<?php require_once('Connections/conexionjosemaria.php'); ?>
ob_start();
<?
//tomo el valor de un elemento de tipo texto del formulario
$fecha = $_POST['fecha'];
$ref = $_POST['ref'];
$desc = $_POST['desc'];
$unim_num = $_POST['unim_num'];
$unim_med = $_POST['unim_med'];
$precio = $_POST['precio'];
$disp = $_POST['disp'];
$exist = $_POST['exist'];
$foto = $_POST["foto"];
echo "Escribió en el campo de texto: " . $foto . "<br><br>";

//datos del arhivo
$nombre_archivo = $HTTP_POST_FILES['userfile']['name'];
$tipo_archivo = $HTTP_POST_FILES['userfile']['type'];
$tamano_archivo = $HTTP_POST_FILES['userfile']['size'];
//compruebo si las características del archivo son las que deseo
if (!((strpos($tipo_archivo, "gif") || strpos($tipo_archivo, "jpeg")) && ($tamano_archivo < 2000000))) {
echo "La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos .gif o .jpg<br><li>se permiten archivos de 100 Kb máximo.</td></tr></table>";
}else{
if (move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], "/var/www/upload/$nombre_archivo")){
echo "El archivo ha sido cargado correctamente.";
}else{
echo "Ocurrió algún error al subir el fichero. No pudo guardarse.";
}
}
header ("Location: resultado.php");
exit();

function sendError($message){
header("Location: gestorn.php?error=$message");
exit();
}
?>
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

RE:Cannot modify header information

Publicado por Gonzalo (84 intervenciones) el 18/06/2007 18:17:03
Cuando haces esto:

header ("Location: resultado.php");

Lo que estás haciendo es escribir en las cabeceras de la respuesta HTTP. Esto va _antes_ que ninguna otra cosa. Y lo que te dice el error es que tú ya has escrito otras cosas, con lo cual ahora no puedes escribir las cabeceras.

Es decir, que no puedes andar por ahí devolviendo cosas en la página con
echo "Escribió en el campo de texto: " . $foto . "<br><br>";
y luego coger y decir:
header("Tal y cual");
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