Ver Mensaje Individual
  #12 (permalink)  
Antiguo 09/11/2011, 10:05
acse
 
Fecha de Ingreso: agosto-2010
Ubicación: mexico
Mensajes: 125
Antigüedad: 13 años, 8 meses
Puntos: 0
Exclamación Respuesta: variables de sesion

Hola, realize todas la pruebas que me habias recomendado pero no funciono por loq ue deje el codigo que tu me habias posteado, sin emabrgo, aun me sigue borraondo los demas items que voy guardando.

Ahora bien solo utilizo dos archivos; el priemro voy agregando los item y si lo tengo ya solo aumento la cantidad, y el otro es solo pra borrar el cual es el que nome funciona jejejeje....No se si sea la forma de enviar la variable al archivo de borrar.php o que otra cosa puede ser.

Estos son los codigos completos.

Código PHP:
<?php // Manual de PHP de WebEstilo.com  
session_start(); 
  
 
//Session register esta obsoleto a partir de PHP 5.3.x se desaconseja usarlo!!! 
 //session_register('itemsEnCesta'); 

 
if (isset($_POST['item'])){    
 
 
$item=$_POST['item']; 
 
$cantidad=$_POST['cantidad']; 
 
$precio=$_POST['precio']; 
 
 
$itemsEnCesta=$_SESSION['itemsEnCesta']; 
 
 if (empty(
$itemsEnCesta)){ 
  
//Aquí guardamos el item, pero en vez de indicar como valor la cantidad indicamos un array.   
  //con los valores "cantidad" y "precio" 
  
$itemsEnCesta[$item]=array( 
  
  
'cantidad'=>$cantidad
  
'precio'=>$precio      ); 
    }else{ 
  
//obtenemos el item.  
  
$searchItem $itemsEnCesta[$item]; 
  
//verificamos si existe o no el item en el carrito 
  
if (empty($searchItem)) { 
  
//si no existe agregamos el item con la cantidad y su precio.     
  
$itemsEnCesta[$item] = array( 
  
'cantidad'=>$cantidad
  
'precio'=>$precio ); 
  }else { 
  
//si existe el item solo aumentamos la cantidad .    
  
$itemsEnCesta[$item]['cantidad'] += $cantidad;
    
  } 
  } 
    
//guardamos los cambios en la sesión 
    
$_SESSION['itemsEnCesta']=$itemsEnCesta
    } 
 
?>  
<html>  
<body>  
<tt>  
<form action="#" method="post">  
Dime el producto <input type="text" name="item" size="20"><br>  
Cuantas unidades <input type="text" name="cantidad" size="20"><br>  
Precio<input type="text" name="precio" size="20"><br>  
<input type="submit" value="Añadir a la cesta"><br>  
</form>  
<? 
if (isset($itemsEnCesta)){
?>
<?
     
echo'El contenido de la cesta de la compra es:<br>';  
   foreach(
$itemsEnCesta as $item => $info){  
    
      echo  
' Artículo: '.$item.' ud: '.$info['cantidad'].' Precio: '.$info['precio'].'<br> ';  
    
?>
<td align="center"><a href="borrar.php?item=<?php echo $item ?>"><img src="trash.gif" width="12" height="14" border="0"></a></td> 
<td align="center">  
<?
   
}  
 
?> 
<div align="center"><span class="prod">Total de Artículos: <?php echo count($itemsEnCesta); 
  
?></span>
<? 
?>
</tt>  
</body>  
</html>
borrar

Código PHP:
<? 

session_start
(); 

extract($_GET);

$itemsEnCesta $_SESSION ['itemsEnCesta'];

$itemABorrar $_GET['item']; 

if (isset(
$itemsEnCesta[$itemABorrar])) 
{
unset(
$itemsEnCesta[$itemABorrar]);

 
$_SESSION['itemsEnCesta'] = $itemsEnCesta;
}

 
 
header ("Location:Index.php"); 



?>

Última edición por acse; 09/11/2011 a las 10:15