Foros del Web » Programando para Internet » PHP »

Problemas con header("Location:

Estas en el tema de Problemas con header("Location: en el foro de PHP en Foros del Web. Hola tengo varios archivos php que me conectan con la base de datos. La cuestión es que añaden y eliminan registros correctamente pero el problema ...
  #1 (permalink)  
Antiguo 10/05/2008, 10:58
 
Fecha de Ingreso: junio-2005
Mensajes: 56
Antigüedad: 18 años, 10 meses
Puntos: 0
Problemas con header("Location:

Hola

tengo varios archivos php que me conectan con la base de datos.
La cuestión es que añaden y eliminan registros correctamente pero el problema es que cuando el php termina de añadir o borrar el registro sale:

Cita:
Warning: Cannot modify header information - headers already sent by (output started at /home/xxx .../ agregar.php:1) in /home/xxx.../agregar.php on line 5
Y el archivo agregar.php parece correcto aunque tengo la duda de si el nombre de la tabla "datos" está correcto.

Cita:
<?php include("conec.php");
$link=Conectarse();
$Sql="insert into datos (nombre,direccion,telefono,email,imagen) values ('".$_POST["nombre"]."','".$_POST["direccion"]."', '".$_POST["telefono"]."', '".$_POST["email"]."', '".$_POST["imagen"]."')";
mysql_query($Sql,$link);
header("Location: home/xxx.../insertareg.php");
exit;
?>
¿Algún consejo?
  #2 (permalink)  
Antiguo 10/05/2008, 10:59
 
Fecha de Ingreso: junio-2005
Mensajes: 56
Antigüedad: 18 años, 10 meses
Puntos: 0
Re: Problemas con header("Location:

La línea 5 es el
Cita:
header("Location: home/xxx.../insertareg.php");
  #3 (permalink)  
Antiguo 10/05/2008, 11:11
Avatar de Squizophrenia  
Fecha de Ingreso: mayo-2008
Ubicación: Barcelona (Spain)
Mensajes: 41
Antigüedad: 15 años, 11 meses
Puntos: 2
Re: Problemas con header("Location:

Verifica el conec.php, que no envie información ninguna a las cabeceras del navegador. Y prueba a modificar el header, pues yo diria que la ruta no es válida:

$location = 'http://localhost/home/xxx.../insertareg.php'; (en caso de ser localhost, o la ruta http de tu servidor)
header("LOCATION: $location");
  #4 (permalink)  
Antiguo 10/05/2008, 11:42
 
Fecha de Ingreso: junio-2005
Mensajes: 56
Antigüedad: 18 años, 10 meses
Puntos: 0
Re: Problemas con header("Location:

Hola, Squizophrenia

El conec.php es solo esto (no lleva ni html>, ni <head> ...) solo lo siguiente:
Cita:
<?php
function Conectarse()
{
if (!($link=mysql_connect("localhost","xxx","xxx")))
{
exit();
}
if (!mysql_select_db("xxx",$link))
{
exit();
}
return $link;
}
?>
En cuanto a lo que comentas de la dirección,
La he cambiado como me dices:
agregar.php:
Cita:
<?php include("conec.php");
$link=Conectarse();
$Sql="insert into datos (nombre,direccion,telefono,email,imagen) values ('".$_POST["nombre"]."','".$_POST["direccion"]."', '".$_POST["telefono"]."', '".$_POST["email"]."', '".$_POST["imagen"]."')";
mysql_query($Sql,$link);
$location = 'http://www.zzz.com/xxx/xxx/insertareg.php';
header("LOCATION: $location");
exit;
?>
Y me da el mismo error:
Cita:
Warning: Cannot modify header information - headers already sent by (output started at /home/xxx/public_html/zzz/xxx/xxx/agregar.php:1) in /home/xxx/public_html/zzz/xxx/xxx/agregar.php on line 6
www.zzz.com es la dirección, lo que no sé es de dónde saca el "home/xxx/public_html/" anterior ya que aunque tengo el dominio dentro de otro principal por medio de un addon en el alojamiento, yo no le doy esa dirección en ninguna parte, aunque la que responde el Warning en realidad es la buena.
La cuestión es que me da el fallo y remite al archivo agregar.php en lugar de a insertareg.php

(Gracias por tu respuesta)

Última edición por Aynaela; 10/05/2008 a las 11:49
  #5 (permalink)  
Antiguo 10/05/2008, 11:48
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: Problemas con header("Location:

de acuerdo con Squizophrenia, checa que dentro de conec.php no tengas un echo, print o algo que imprima info en pantalla, de ser así prueba usando esto
Código PHP:
ob_start();//activa un buffer de salida para guardar la info
include("conec.php");
$link=Conectarse();
$Sql="insert into datos (nombre,direccion,telefono,email,imagen) values ('".$_POST["nombre"]."','".$_POST["direccion"]."', '".$_POST["telefono"]."', '".$_POST["email"]."', '".$_POST["imagen"]."')";
mysql_query($Sql,$link);
header("Location: home/xxx.../insertareg.php");
exit;
ob_end_flush();//libera el buffer de salida enviando al navegador la info allí guardada
ob_end_clean();//limpia el buffer 
saludos.

editado: repondiste antes, pero creo que tu conec.php debería de tener mensajes de error algo como esto.
Código PHP:
function Conectarse(){
$link=@mysql_connect("localhost","xxx","xxx")) or die ('Error en conexion');
@
mysql_select_db("xxx",$link) or die('Erro al seleccionar BD')
return 
$link;

el @ es para evitar que php muestre su propio mensaje de error y solo aparezca el tuyo

suerte.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.

Última edición por eits; 30/06/2008 a las 09:33
  #6 (permalink)  
Antiguo 10/05/2008, 11:50
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: Problemas con header("Location:

dice ke empezo a enviar datos desde la linea 1 de agregar.php, osea... cheka bien que no haya espacios antes del <?, y tambien.... PROCURA usar <?php ya que en PHP5 esto esta obsoleto :D
  #7 (permalink)  
Antiguo 10/05/2008, 12:47
Avatar de Squizophrenia  
Fecha de Ingreso: mayo-2008
Ubicación: Barcelona (Spain)
Mensajes: 41
Antigüedad: 15 años, 11 meses
Puntos: 2
Re: Problemas con header("Location:

Sigo pensando que debes tener algún error (un espacio o linea antes de <?php, como comenta pateketrueke, o alguna orden de impresión antes del header). Pero para no dejarte abandonado , te propongo otra opción, aunque a mí no me gusta demasiado. En lugar del header, coloca esto:
echo '<meta http-equiv="refresh" content="0;url=http://www.zzz.com/xxx/xxx/insertareg.php" />';
A ver si por lo menos, funciona.
  #8 (permalink)  
Antiguo 10/05/2008, 13:03
 
Fecha de Ingreso: junio-2005
Mensajes: 56
Antigüedad: 18 años, 10 meses
Puntos: 0
Re: Problemas con header("Location:

Muchas gracias eits y pateketrueke.
He probado los códigos, eits, pero me seguía dando fallo (posiblemente tenga algún error previo que soy incapaz de localizar).

Squizophrenia, me va perfecto el
Cita:
echo '<meta http-equiv="refresh" ...
ahora sí que me redirecciona correctamente.

Gracias!!
  #9 (permalink)  
Antiguo 10/05/2008, 13:06
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: Problemas con header("Location:

aun asi... hay que encontra rel fallo, ya que <meta> tambien quedara obsoleto....
  #10 (permalink)  
Antiguo 10/05/2008, 13:57
 
Fecha de Ingreso: junio-2005
Mensajes: 56
Antigüedad: 18 años, 10 meses
Puntos: 0
Re: Problemas con header("Location:

Sí, pateketrueke, el problema es que aún no sé porqué pasa eso, si en algún momento me doy cuenta, lo pondré aquí (seguro que es alguna metedura de pata mía).
Gracias. :)
  #11 (permalink)  
Antiguo 12/05/2008, 08:43
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: Problemas con header("Location:

si pones tus códigos completos puede ser que demos con la falla, tambien puedes intentar poner el ob_start(); al principio de tu página.

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #12 (permalink)  
Antiguo 04/09/2008, 14:02
 
Fecha de Ingreso: septiembre-2008
Mensajes: 1
Antigüedad: 15 años, 7 meses
Puntos: 0
Exclamación Respuesta: Problemas con header("Location:

A mi me pasa un problema similar con header... estab trabajamdo en Linux(Debian) y no qujeria redireccionar a otra pagina guarde todos mis archivos y lo ejecute en windows(con wamp server) y no paso ningun problema ?????? entonces creo es un error de instalacion o de configuracion en vez de programacion????
solo es un idea no??? si logran solucionarlo publiquenlo... yo no prometo nada(recienestoy empezando ) pero si logro(aunque no creo ajajaj) tambien lo subo
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 08:20.