Foros del Web » Programando para Internet » PHP »

error con location

Estas en el tema de error con location en el foro de PHP en Foros del Web. Buenas, tengo hecho ya mi carrito de compras, pero tengo problemas con un location, ya he consultado varios tutoriales y de verdad creo que entre ...
  #1 (permalink)  
Antiguo 30/11/2011, 15:12
 
Fecha de Ingreso: noviembre-2011
Mensajes: 9
Antigüedad: 13 años
Puntos: 0
Información error con location

Buenas, tengo hecho ya mi carrito de compras, pero tengo problemas con un location, ya he consultado varios tutoriales y de verdad creo que entre la comlejidad y la sencilles perdi el sentido comun, jejeje

De antemano gracias por el apoyo dejo mi codigo para ver si me podeis ayudar

Código PHP:
Ver original
  1. <?php
  2. extract($_REQUEST);
  3. include('conexion.php');
  4.     $conn = pg_connect("host=localhost port=5432 dbname=ps2021 user=Raynor password=raynor");
  5.         if(!isset($cantidad)){$cantidad=1;}
  6.         $sql = pg_query($conn, "SELECT * FROM Producto where id_producto='".$id_producto."'");
  7.         $row = pg_fetch_array($sql);
  8. if(isset($_SESSION['carro']))
  9. $carro=$_SESSION['carro'];
  10. $carro[md5($id_producto)]=array('identificador'=>md5($id_producto),'cantidad'=>$cantidad,'producto'=>$row['nombre_producto'],'precio'=>$row['precio'],'id_producto'=>$id_producto);
  11. $_SESSION['carro']=$carro;
  12. ?>
  13. <?php header("Location: catalogo.php".SID);?>

Al agregar articulos al carrito me da un error

Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\Sitio\conexion.php:7) in C:\AppServ\www\Sitio\agregacar.php on line 16
  #2 (permalink)  
Antiguo 30/11/2011, 15:44
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 meses
Puntos: 416
Respuesta: error con location

Nunca imprimas nada antes de una redireccion.

Con tu hacer:
Código PHP:
Ver original
  1. <?php
  2. //blah blah blah
  3. ?>
  4. <?php header("Location: pagina.html"); ?>

Al salir de PHP y poner ese salto de linea, ya hay algo impreso.

Código PHP:
Ver original
  1. <?php
  2. extract($_REQUEST);
  3. include('conexion.php');
  4.     $conn = pg_connect("host=localhost port=5432 dbname=ps2021 user=Raynor password=raynor");
  5.         if(!isset($cantidad)){$cantidad=1;}
  6.         $sql = pg_query($conn, "SELECT * FROM Producto where id_producto='".$id_producto."'");
  7.         $row = pg_fetch_array($sql);
  8. if(isset($_SESSION['carro']))
  9. $carro=$_SESSION['carro'];
  10. $carro[md5($id_producto)]=array('identificador'=>md5($id_producto),'cantidad'=>$cantidad,'producto'=>$row['nombre_producto'],'precio'=>$row['precio'],'id_producto'=>$id_producto);
  11. $_SESSION['carro']=$carro;
  12. header("Location: catalogo.php".SID);?>

Siempre y cuando no haya nada impreso antes de header(), no tendras problemas
  #3 (permalink)  
Antiguo 30/11/2011, 17:49
 
Fecha de Ingreso: mayo-2011
Mensajes: 62
Antigüedad: 13 años, 6 meses
Puntos: 2
Respuesta: error con location

Si usas el location de javascript se te soluciona la vida jaja

Código PHP:
<?php 
session_start
();
extract($_REQUEST);
include(
'conexion.php');
    
$conn pg_connect("host=localhost port=5432 dbname=ps2021 user=Raynor password=raynor");
        if(!isset(
$cantidad)){$cantidad=1;}
        
$sql pg_query($conn"SELECT * FROM Producto where id_producto='".$id_producto."'");
        
$row pg_fetch_array($sql);
if(isset(
$_SESSION['carro']))
$carro=$_SESSION['carro'];
$carro[md5($id_producto)]=array('identificador'=>md5($id_producto),'cantidad'=>$cantidad,'producto'=>$row['nombre_producto'],'precio'=>$row['precio'],'id_producto'=>$id_producto);
$_SESSION['carro']=$carro;
?>
<script type=text/javascript>
location.href='catalogo.php';
</script>

Etiquetas: location, sql
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:04.