Foros del Web » Programando para Internet » PHP »

agregar a favoritos

Estas en el tema de agregar a favoritos en el foro de PHP en Foros del Web. Hola que tal, lo que quiero hacer es agregar varios link a una cookie mediante get pero lo unico que he logrado es agregar una ...
  #1 (permalink)  
Antiguo 27/05/2011, 19:11
 
Fecha de Ingreso: agosto-2009
Mensajes: 292
Antigüedad: 14 años, 8 meses
Puntos: 5
agregar a favoritos

Hola que tal, lo que quiero hacer es agregar varios link a una cookie mediante get pero lo unico que he logrado es agregar una y si meto otro valor por get se cambia.

Alguien que me pueda ayudar a agregar varios valores a la misma cookie.

Saludos y gracias de antemano
  #2 (permalink)  
Antiguo 27/05/2011, 19:24
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: agregar a favoritos

Con varios setcookies lo puedes hacer. ¿Qué haz hecho?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 27/05/2011, 19:37
 
Fecha de Ingreso: agosto-2009
Mensajes: 292
Antigüedad: 14 años, 8 meses
Puntos: 5
Respuesta: agregar a favoritos

Cita:
Iniciado por abimaelrc Ver Mensaje
Con varios setcookies lo puedes hacer. ¿Qué haz hecho?
Hola que tal, no llevo la gran cosa, solo voy empezando

Código PHP:
Ver original
  1. <?php
  2.  
  3. setcookie("name", $_GET['ID']);
  4.  
  5. echo $_COOKIE['name'];
  6.  
  7. ?>
  #4 (permalink)  
Antiguo 27/05/2011, 19:45
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: agregar a favoritos

Lee este tema http://www.forosdelweb.com/f18/probl...ookies-912694/
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 27/05/2011, 20:25
 
Fecha de Ingreso: agosto-2009
Mensajes: 292
Antigüedad: 14 años, 8 meses
Puntos: 5
Respuesta: agregar a favoritos

Cita:
Iniciado por abimaelrc Ver Mensaje
Gracias por la recomendación, pero la verdad no entendí como resolver mi problema , pero si era sobre las contras de usar las cookies estoy consiente y también de la forma como trabajan.

Saludos!
  #6 (permalink)  
Antiguo 27/05/2011, 20:40
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: agregar a favoritos

Ok, teniendo claro eso, ya solo es cuestión de añadir varios setcookie
Código PHP:
Ver original
  1. setcookie("foo", "fooVal");
  2. setcookie("bar", "barVal");
  3. setcookie("baz", "bazVal");
  4. setcookie("candy", "candyVal");
Para leerlas, en la siguiente petición que se haga solo tienes que llamarlo algo así
Código PHP:
Ver original
  1. echo $_COOKIE['foo'];
  2. echo $_COOKIE['bar'];
  3. echo $_COOKIE['baz'];
  4. echo $_COOKIE['candy'];
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 27/05/2011, 21:00
 
Fecha de Ingreso: agosto-2009
Mensajes: 292
Antigüedad: 14 años, 8 meses
Puntos: 5
Respuesta: agregar a favoritos

Cita:
Iniciado por abimaelrc Ver Mensaje
Ok, teniendo claro eso, ya solo es cuestión de añadir varios setcookie
Código PHP:
Ver original
  1. setcookie("foo", "fooVal");
  2. setcookie("bar", "barVal");
  3. setcookie("baz", "bazVal");
  4. setcookie("candy", "candyVal");
Para leerlas, en la siguiente petición que se haga solo tienes que llamarlo algo así
Código PHP:
Ver original
  1. echo $_COOKIE['foo'];
  2. echo $_COOKIE['bar'];
  3. echo $_COOKIE['baz'];
  4. echo $_COOKIE['candy'];
Okey, pero si no se cuantos links va a agregar el usuario, no se pueden agregar de forma dinámica?
  #8 (permalink)  
Antiguo 27/05/2011, 21:01
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: agregar a favoritos

¿Links usando cookies? Eso no lo veo bien, ni seguro. ¿Cuál es el motivo?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #9 (permalink)  
Antiguo 27/05/2011, 21:11
 
Fecha de Ingreso: agosto-2009
Mensajes: 292
Antigüedad: 14 años, 8 meses
Puntos: 5
Respuesta: agregar a favoritos

Cita:
Iniciado por abimaelrc Ver Mensaje
¿Links usando cookies? Eso no lo veo bien, ni seguro. ¿Cuál es el motivo?
Si, mira lo que pasa es que tengo una galería de imagines y quiero implementar una sección de favoritos y quiero que cada imagen tenga un link tipo add-favorite.php?ID=123456 y cuando le den click a ese link compruebe en la base de datos mysql que el ID exista y si es haci que extraiga el link de la base de datos y guarde la URL de la imagen en una cookie y posteriormente la muestre.
  #10 (permalink)  
Antiguo 27/05/2011, 21:15
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: agregar a favoritos

Lo mejor en esos casos es usar la misma base de datos para almacenar la información que el usuario indicó. Así no se borra si por casualidad el usuario ha borrado el cache del navegador.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #11 (permalink)  
Antiguo 27/05/2011, 21:19
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: agregar a favoritos

No tienes implementado un sistema de usuarios? La recomendación de abimaelrc es la más fiable, pero, sería aún más planeada si tuvieras tal sistema..
Si no, puedes almacenar en la base de datos la IP y el ID de imagen
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #12 (permalink)  
Antiguo 27/05/2011, 21:38
 
Fecha de Ingreso: agosto-2009
Mensajes: 292
Antigüedad: 14 años, 8 meses
Puntos: 5
Respuesta: agregar a favoritos

Exacto, lo que pasa es que no tengo sistema de usuarios por eso decidí trabajar con cookies y creo que usar la IP también es una muy buena opción, pero no se podrá utilizar ambas opciones???.

Saludos!.
  #13 (permalink)  
Antiguo 27/05/2011, 21:39
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: agregar a favoritos

Ambas cuáles? Cookies e IP? Na, no es necesario, con almacenar la IP en Mysql basta y sobra
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #14 (permalink)  
Antiguo 27/05/2011, 21:49
 
Fecha de Ingreso: agosto-2009
Mensajes: 292
Antigüedad: 14 años, 8 meses
Puntos: 5
Respuesta: agregar a favoritos

Ok muchas gracias abimaelrc, sourcegeek (y), pero una duda, en los sistemas de los carritos de compras en que forma se agregan los artículos al carrito???
  #15 (permalink)  
Antiguo 27/05/2011, 21:56
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: agregar a favoritos

Algunos usan cookies pero también tienen sistema de usuarios...
Las cookies las usan para compras en el momento, es decir, haces click en los artículos que desees y ese mismo día los pagas. Ahora, si quieres tener los artículos guardados y asegurados, entra en función el sistema de usuarios, ahí se quedan prácticamente por siempre
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #16 (permalink)  
Antiguo 27/05/2011, 21:59
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: agregar a favoritos

De poder, sí, conveniente en ninguna manera. Es tu decisión. La forma como lograr que cuando una persona haya seleccionado, es solamente indicarlo por el id de la imagen. Usando tu ejemplo es algo así
Código PHP:
Ver original
  1. <?php
  2. $id = array_key_exists('id', $_GET) ? $_GET['id'] : exit;
  3. if(!array_key_exists('image', $_COOKIE)){
  4.     setcookie('image[0]', $id);
  5. }
  6. elseif(!in_array($id, $_COOKIE['image'])){
  7.     $n = count($_COOKIE['image']) + 1;
  8.     setcookie("image[$n]", $id);
  9. }
  10. else{
  11.     echo 'Ya existe en los cookies el id';
  12. }
  13. print_r($_COOKIE);
Para borrarlo, solo tienes que indicar una fecha en el pasado
Código PHP:
Ver original
  1. <?php
  2. setcookie('imagen[0]', null, time() - 3600);
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #17 (permalink)  
Antiguo 27/05/2011, 22:00
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: agregar a favoritos

Ups, ya veo que contestaron varias cosas. Para los carritos de compra lo recomendable es usar sesiones. Es más seguro.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #18 (permalink)  
Antiguo 27/05/2011, 22:31
 
Fecha de Ingreso: agosto-2009
Mensajes: 292
Antigüedad: 14 años, 8 meses
Puntos: 5
Respuesta: agregar a favoritos

Muchas gracias abimaelrc, mañana pruebo tu script y cometo. Gracias.

Saludos!.
  #19 (permalink)  
Antiguo 28/05/2011, 11:54
 
Fecha de Ingreso: agosto-2009
Mensajes: 292
Antigüedad: 14 años, 8 meses
Puntos: 5
Respuesta: agregar a favoritos

Cita:
Iniciado por WinderJerter Ver Mensaje
Muchas gracias abimaelrc, mañana pruebo tu script y cometo. Gracias.

Saludos!.
Muchas gracias, he provado y adaptado el script a mi base de datos;

Código PHP:
Ver original
  1. <?php
  2.  
  3. require_once("connectBD.php");
  4.  
  5. $sql = "SELECT * FROM images WHERE ID = '".mysql_real_escape_string($_GET['ID'])."'";
  6. $result = mysql_query($sql);
  7.  
  8. if($image = mysql_fetch_assoc($result)) {
  9.     if(!array_key_exists('image', $_COOKIE)) {
  10.         setcookie('image[0]', $image['location']);
  11.     } elseif(!in_array($image['location'], $_COOKIE['image'])) {
  12.         $n = count($_COOKIE['image']) + 1;
  13.         setcookie("image[$n]", $image['location']);
  14.     } else {
  15.         echo "La imagen ya ha sido agregada a favoritos.";
  16.     }
  17. } else {
  18.     echo "Error al guardar la imagen a favorito.";
  19. }
  20.  
  21. if(isset($_COOKIE['image'])) {
  22.     foreach ($_COOKIE['image'] as $value) {
  23.         echo "$value <br />\n";
  24.     }
  25. }
  26.  
  27. ?>

Una pregunta: nose puede guardar todas las urls que se vallan agregando al contenido de una misma cookie?

Saludos y muchas gracias
  #20 (permalink)  
Antiguo 12/06/2011, 21:22
 
Fecha de Ingreso: agosto-2009
Mensajes: 292
Antigüedad: 14 años, 8 meses
Puntos: 5
Respuesta: agregar a favoritos

Disculpen tengo una ultima pregunta: como le puedo hacer para eliminar la cookie de una imagen si la imagen ya se elimino??

saludos y gracias de antemano
  #21 (permalink)  
Antiguo 22/06/2011, 16:33
 
Fecha de Ingreso: agosto-2009
Mensajes: 292
Antigüedad: 14 años, 8 meses
Puntos: 5
Respuesta: agregar a favoritos

perdon por revivir el tema :s

Saludos y gracias de antemano!!!
  #22 (permalink)  
Antiguo 22/06/2011, 21:41
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: agregar a favoritos

Verifica la imagen con file_exists y compara el nombre que tienes indicado con el nombre que hayas indicado en el cookie. Lo eliminas y listo.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #23 (permalink)  
Antiguo 23/06/2011, 21:20
 
Fecha de Ingreso: agosto-2009
Mensajes: 292
Antigüedad: 14 años, 8 meses
Puntos: 5
Respuesta: agregar a favoritos

hola que tal, gracias por responder; trate de hacerlo de esta manera

Código PHP:
Ver original
  1. if(!file_exists($favorite['location'])) {
  2.     setcookie("favorite[$n]", $favorite['location'], time()-3600);
  3. }

y me tira este error Warning: Cannot modify header information - headers already sent by (output started at

Saludos!!!
  #24 (permalink)  
Antiguo 24/06/2011, 13:56
 
Fecha de Ingreso: agosto-2009
Mensajes: 292
Antigüedad: 14 años, 8 meses
Puntos: 5
Respuesta: agregar a favoritos

andaba viendo que file_exists() no funciona con las rutas completas lo hice asi

Código PHP:
Ver original
  1. <?php
  2.  
  3. require_once("connectBD.php");
  4.  
  5. $sql = "SELECT * FROM images WHERE ID = '".mysql_real_escape_string($_GET['add'])."'";
  6. $result = mysql_query($sql);
  7.  
  8. $cookie_exists = str_replace(array("http://", ".www.com"), "", $favorite['location']);
  9.  
  10. if(!file_exists($cookie_exists)) {
  11.     setcookie("favorite[$n]", $favorite['location'], time()-3600);
  12. }
  13.  
  14. while($favorite = mysql_fetch_assoc($result)) {
  15.     if(!array_key_exists('favorite', $_COOKIE)) {
  16.         setcookie('favorite[0]', $favorite['location']);
  17.     } elseif(!in_array($favorite['location'], $_COOKIE['favorite'])) {
  18.         $n = count($_COOKIE['favorite']) + 1;
  19.         setcookie("favorite[$n]", $favorite['location']);
  20.     } else {
  21.         echo "La imagen ya ha sido agregada a favoritos.";
  22.     }
  23. }
  24.  
  25. if(isset($_COOKIE['favorite'])) {
  26.     foreach($_COOKIE['favorite'] as $value) {
  27.         echo "<div class=\"more-favorites\"><img src=\"$value\" height=\"71\" width=\"71\"></div>\n";
  28.     }
  29. }
  30.  
  31. ?>

Pero no me borra las cookies; alguien sabe donde esta el error???

Saludos y gracias de antemano
  #25 (permalink)  
Antiguo 26/06/2011, 15:11
 
Fecha de Ingreso: agosto-2009
Mensajes: 292
Antigüedad: 14 años, 8 meses
Puntos: 5
Respuesta: agregar a favoritos

Hola que tal, he simplificado y modificado el codigo aun mas y me a quedado de esta manera

Código PHP:
Ver original
  1. <?php
  2.  
  3. require_once("connectBD.php");
  4.  
  5. $sql = "SELECT * FROM images WHERE ID = '".mysql_real_escape_string($_GET['add'])."'";
  6. $result = mysql_query($sql);
  7.  
  8. while($favorite = mysql_fetch_assoc($result)) {
  9.  
  10.     $cookie_exists = str_replace(array("http://", ".www.com"), "", $favorite['location']);
  11.     $n = $favorite['ID'];
  12.    
  13.     if(!file_exists($cookie_exists)) {
  14.         setcookie("favorite[$n]", $favorite['location'], time()-3600);
  15.     }
  16.    
  17.     setcookie("favorite[$n]", $favorite['location']);
  18. }
  19.  
  20. if(isset($_COOKIE['favorite'])) {
  21.     foreach($_COOKIE['favorite'] as $value) {
  22.         echo "<div class=\"more-favorites\"><img src=\"$value\" height=\"71\" width=\"71\"></div>\n";
  23.     }
  24. }
  25.  
  26. ?>

Se agrega la cookie correctamente pero el problema sigue cuando se elimina la imagen la cookie no se borra; alguien sabe donde esta el error

Saludos y gracias de antemano

Etiquetas: favoritos
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 11:09.