Foros del Web » Programando para Internet » PHP »

Problema con header location

Estas en el tema de Problema con header location en el foro de PHP en Foros del Web. Tengo este codigo llamado grabar.php que utilizo para guardar regsitros a mi bd atravez de un formulario Código PHP: if(isset( $HTTP_POST_VARS [ 'grabar' ])){     ...
  #1 (permalink)  
Antiguo 24/01/2008, 14:13
 
Fecha de Ingreso: enero-2008
Ubicación: Lima - Perú
Mensajes: 1.127
Antigüedad: 16 años, 3 meses
Puntos: 10
Problema con header location

Tengo este codigo llamado grabar.php que utilizo para guardar regsitros a mi bd
atravez de un formulario

Código PHP:
if(isset($HTTP_POST_VARS['grabar'])){
   
//recojo las Variables
   
$v1 =  $HTTP_POST_VARS['nomcateg'];
   
$insert="INSERT INTO categoria (nomcateg) VALUES('$v1')";
   
   
# establecemos la conexion con el servidor
   
$conexion=mysql_connect("localhost","root",""); 
   
mysql_select_db("tienda"); 
   
$resultadomysql_query($insert);
}
header("Location: categorias.php");
exit(); 
utilizo el header para volver al formulario despues de haber ingresado
un nuevo registro.

El problema es que quiero hacer la conexion a la bd desde otro script
llamado cnx.php atravez de una funcion db_connect(),al utlizarla en
grabar.php de esta manera:

Código PHP:
include('cnx.php');
db_connect(); 
Me aparece este error

Warning: Cannot add header information - headers already sent by (output started at c:\apache\htdocs\web_vacio\admin\cnx.php:3)

el archivo cnx.php lo uso en otras pagina y no me da ningun error
No entiendo cual es problema espero me ayuden
  #2 (permalink)  
Antiguo 24/01/2008, 14:20
 
Fecha de Ingreso: noviembre-2007
Mensajes: 203
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Problema con header location

el archivo cnx.php escribe algun texto en la pantalla?
php no permite que se envien mas de una vez los header (desde 4.3.0) entonces verifica que el archivo no arroje texto y que no produzca errores.
postear que dices las primeras 3 o 4 lineas de cnx.php seria bueno para ver que esta pasando.
  #3 (permalink)  
Antiguo 24/01/2008, 14:21
Avatar de migueljga  
Fecha de Ingreso: enero-2008
Mensajes: 35
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Problema con header location

No se pueden ejecutar los header después de haberse generado código html, como no creo que sea tu caso, puedes buscar en las FAQ's de este foro, está la información detallada de las causas de error en los headers
  #4 (permalink)  
Antiguo 24/01/2008, 14:28
 
Fecha de Ingreso: enero-2008
Ubicación: Lima - Perú
Mensajes: 1.127
Antigüedad: 16 años, 3 meses
Puntos: 10
Re: Problema con header location

aqui esta cnx.php
Código PHP:
<?

function db_connect()
{
$conexion mysql_connect("localhost","root","");
mysql_select_db('tienda',$conexion);
}

?>
  #5 (permalink)  
Antiguo 24/01/2008, 14:43
 
Fecha de Ingreso: noviembre-2007
Mensajes: 203
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Problema con header location

primero, en lugar de usar $HTTP_POST_VARS usa $_POST , $HTTP_POST_VARS esta obsoleto, guego, prueba en lugar de hacer una funcion db_connect haciendo db_query mas o menos asi:
function db_query($query) {
$c = mysql_connect("localhost","root","");
mysql_select_db('tienda');
$sql = mysql_query($query,$c);
return $sql;
}
y cambialo en todas las paginas para asegurarte de que ninguna de problemas.
lo de return $sql es para cuando quieras hacer un select from y usarlo en mysql_fetch_array por ejemplo:
$sql = db_query("SELECT * FROM tabla");
while ($row = mysql_fetch_array($sql)) {
//codigo php
}
  #6 (permalink)  
Antiguo 24/01/2008, 15:20
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Problema con header location

Checa si antes de <? no hay ningún espacio o salto de linea, eso hace que te influya y te cause ese error.

Saludos.
  #7 (permalink)  
Antiguo 24/01/2008, 17:27
 
Fecha de Ingreso: enero-2008
Ubicación: Lima - Perú
Mensajes: 1.127
Antigüedad: 16 años, 3 meses
Puntos: 10
Re: Problema con header location

Todo solucionado el error se producia por que deje saltos de lineas en
el archivo cnx.php

saludos

Ah si alguien se anima podrian explicar el uso correcto de header
  #8 (permalink)  
Antiguo 25/01/2008, 11:17
 
Fecha de Ingreso: noviembre-2007
Mensajes: 203
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Problema con header location

bueno, en el sitio www.php.net, esta toda la informacion sobre las cabezeras http, simplemente no escribas nada en la pantalla del usuario antes de enviar un header...
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 15:27.