Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/03/2006, 17:22
aviana
 
Fecha de Ingreso: enero-2002
Ubicación: Graná
Mensajes: 646
Antigüedad: 22 años, 3 meses
Puntos: 0
Problema con cabeceras

Hola, estoy haciendo un sitio de comercio y me he encontrado con el problema

Warning: Cannot modify header information - headers already sent by (output started at I:\Archivos de programa\Apache Group\Apache2\htdocs\anchuron\carrito\carrito\clas e_carrito.php:50) in I:\Archivos de programa\Apache Group\Apache2\htdocs\anchuron\carrito\carrito\clas e_carrito.php on line 199

El código es el siguiente:

(la línea 50 es el primer echo de imprime_carrito y la 199 es la llamada a location: ver_carrito.php dentro de la función elimina_producto que es la que se llama cuando se pincha el botón de eliminar)



function imprime_carrito(){
// inicio plantilla
// include_once ('../funciones_comunes.php');
// imprime_cabecera("COMPRAS- Artículos en el carrito");
echo '<table width="753" border="0" cellpadding="0" cellspacing="0" background="'.$_SERVER['APPL_PHYSICAL_PATH'].'img/fondo_contorno.gif" bgcolor="#E9D8AA"><tr><th scope="col"><table width="725" cellspacing="0" cellpadding="5"><tr><td align="right" valign="top" class="seccion">COMPRAS- Art&iacute;culos en el carrito</td></tr><tr><td>';
//fin plantilla. Inicio programación
$num_prod=$this->num_productos;
if ($num_prod>0){
echo '<table border="0" align="center" cellpadding="3"><form name="lista_productos" action="'.$_SERVER['PHP_SELF'].'" method="post"><tr>
<td class="encabezado">Artículo</td>
<td class="encabezado">Precio/Artículo</td>
<td class="encabezado">Unidades</td>
<td class="encabezado">Total</td>
<td class="encabezado">Eliminar</td>
</tr>';
//imprimo los productos del carrito
for ($i=0, $this->total_compra=0;$i<$num_prod;$i++){
//si $_post['cantidad'.$i] no es vacío, es que el usuario está actualizando la cantidad del producto y hay que actualizar la matriz de productos para que refleje la nueva cantidad
$num=@$_POST['cantidad'.$i];
if ((is_numeric ($num)) && ($num>=0)){
$this->producto[$i]['num_unidades']=$_POST['cantidad'.$i];
$this->producto[$i]['importe_total']=$_POST['cantidad'.$i]*$this->producto[$i]['precio'];
}
echo '<tr>
<td align="center" class="texto">'. $this->producto[$i]['nombre'] .'</td>
<td align="center" class="texto">'. number_format ($this->producto[$i]['precio'], 2, ",", ".") .'€</td>
<td align="center"><input type="text" name="cantidad'.$i.'" value="'.$this->producto[$i]['num_unidades'].'" size="5" class="campo_numeros"></td>
<td align="center" class="texto">'.number_format ($this->producto[$i]['importe_total'], 2, ",", ".").'€</td>
<td>
<img src="../../img/i_eliminar.gif" align="absmiddle"><input type="submit" name="eliminar'.$i.'" value="Eliminar" class="boton">
</td>
<input type="hidden" name="id'.$i.'" value="'.$this->producto[$i]['id'].'"></tr>';
$this->total_compra += $this->producto[$i]['precio']*$this->producto[$i]['num_unidades'];
}
//muestro el total y el total con IVA
$this->total_compra_con_iva=$this->total_compra*1.16;
echo '<tr><td colspan="5" align="center">
<img src="../../img/i_recalcular.gif" align="absmiddle"><input type="submit" name="recalcular" value="Recalcular" class="boton"> ||
<img src="../../img/i_caja.gif" align="absmiddle"><input type="submit" name="caja" value="Ir a caja" class="boton"> ||
<img src="../../img/i_compra.gif" align="absmiddle"><input type="submit" name="comprar_mas" value="Comprar más" class="boton">
</td></tr>
<tr>
<td class="precio_pequenyo">Total</td>
<td colspan="4" align="right" class="precio">'.number_format($this->total_compra, 2, ",", ".").'€+IVA='.number_format($this->total_compra_con_iva,2, ",", ".").'€</td>
</tr></form>';
//busco si se pulsó algún botón del tipo eliminar<nº> y si así es, llamo a elimina_producto con el nº que tenía el botón de eliminar
for ($i=0; $i<$num_prod; $i++)
if (isset ($_POST['eliminar'.$i]))
$_SESSION['ocarrito']->elimina_producto($i);
//si se pinchó el botón comprar, llamar a la función compra
if (isset ($_POST['caja']))
$_SESSION['ocarrito']->compra();
if (isset ($_POST['comprar_mas']))
Header ("Location: ../index.php");
}else
echo '<table align="center">
<tr><td class="texto_destacado">Su carro de la compra está vacío</td></tr>
<tr><td colspan="5" class="texto" align="center"><a href="../index.php"><img src="../../img/i_atras.gif" align="absmiddle" border="0"> Volver</a></td></tr>';
echo '</table></td></tr>';
//fin programación. Inicio plantilla
echo '</table>
</th>
</tr>
</table>';
// imprime_pie(1);
}



function elimina_producto($cual){
for ($i=$cual; $i<$this->num_productos; $i++)
$this->producto[$i]=$this->producto[$i+1];
$this->num_productos--;
header ("location: ver_carrito.php");
}


Ayuda porfa!