Foros del Web » Programando para Internet » PHP »

Borrar parte de una cookie

Estas en el tema de Borrar parte de una cookie en el foro de PHP en Foros del Web. Hola amigos que tal estan? Miren tengo que borrar parte del contenido de una cookie con la que genero un carrito de la compra. la ...
  #1 (permalink)  
Antiguo 22/07/2017, 16:17
 
Fecha de Ingreso: junio-2008
Mensajes: 292
Antigüedad: 15 años, 9 meses
Puntos: 4
Borrar parte de una cookie

Hola amigos que tal estan?
Miren tengo que borrar parte del contenido de una cookie con la que genero un carrito de la compra. la cookie se llama carrito y guardo todo el contenido. Se que no es la mejor forma de hacerlo pero ya esta hecho asi y no em gustaria tener que cambiar el planteamineto por completo

La cookie es esta
Código PHP:
Array ( [carrito] => a:2:{i:0;a:7:{s:8:"material";s:26:"Vinilo monomérico 2 años";s:8:"acabados";s:15:"Laminado Brillo";s:7:"soporte";s:20:"Metacrilato 5mm Opal";s:6:"medida";s:5:"3x5 m";s:4:"unis";s:1:"1";s:5:"envio";s:21:"Envio normal 5-7 dias";s:3:"pvp";s:6:"748,39";}///////AKI EMPIEZA OTRO PRODUCTO////////i:1;a:7:{s:8:"material";s:26:"Vinilo monomérico 2 años";s:8:"acabados";s:15:"Laminado Brillo";s:7:"soporte";s:7:"Ninguno";s:6:"medida";s:5:"5x5 m";s:4:"unis";s:1:"1";s:5:"envio";s:21:"Envio normal 5-7 dias";s:3:"pvp";s:6:"323,68";}} 
ahora mismo en esa cookie hay dos productos distintos y necesito poder borrarlos independientemente. Intento esto pero sin exito

Código PHP:
<a href="index.php?borrar='.$key.'"borrar</a>

 

$bName $_GET['borrar'];

if (isset (
$_GET['borrar'])) {

    unset(
$aCarrito[$bName]);



Paso por get el valor del indice del producto pero solo borro el array pero como la cookie ya esta generada pues en cuanto se refresca la pagina se vuelve a generar.

Entonces intento esto

Código PHP:
<a href="index.php?borrar='.$key.'"borrar</a>

 

$bName'['.$_GET['borrar'].']';

$oTimetime() - 1;

if (isset (
$_GET['borrar'])) {

    
setcookie('carrito'.$bName''$oTime);


pero claro el nombre de la cookie no esta establecido con el indice por lo que no lo borra.

Espero tengan una solucion si no tendre que tirar trabajo a la basura por un mal planteamiento inicial. ya que si hubiese caido en que tenia que poder borrar los productos uno por uno lo habria hecho inicialmente de otra manera creando cookies independiente por cada producto.

Gracias!

Última edición por Ghosty; 22/07/2017 a las 16:18 Razón: no estaba completo
  #2 (permalink)  
Antiguo 23/07/2017, 10:51
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 9 meses
Puntos: 263
Respuesta: Borrar parte de una cookie

Yo lo haría con sesiones, pero con la cookie intentaría esto:

Código PHP:
Ver original
  1. //Array de muestra
  2. $prod = array(
  3.     'carrito' => array(
  4.             'a1'=>array('data'),
  5.             'a2'=>array('datab'),
  6.         ),
  7.     );
  8.  
  9. //Creo la cookie cargando el contenido como json
  10.   setcookie('carro', json_encode($prod));
  11.  
  12. //rescato la cookie para procesarla, convirtiendo el json en array de nuevo
  13.   $dat = json_decode($_COOKIE['carro'],true);
  14.  
  15. //Elimino la clave del array
  16.   unset($dat['carrito']['a1']);
  17.  
  18. //Actualizo la cookie con la nueva data sin la clave eliminada
  19. setcookie('carro', json_encode($dat));

Prueba y Adapta a ver.
__________________
[email protected]
HITCEL

Etiquetas: cookie, parte
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 13:53.