Foros del Web » Programando para Internet » PHP »

mostrar preferencias guardadas en variable sesion

Estas en el tema de mostrar preferencias guardadas en variable sesion en el foro de PHP en Foros del Web. Muy buenas, tengo un problema que no logro resolver. Me explico: tengo un carrito de compra realizado con php/mysql para seleccionar productos, en este caso ...
  #1 (permalink)  
Antiguo 05/05/2009, 09:29
 
Fecha de Ingreso: febrero-2005
Mensajes: 12
Antigüedad: 19 años, 2 meses
Puntos: 0
mostrar preferencias guardadas en variable sesion

Muy buenas, tengo un problema que no logro resolver. Me explico: tengo un carrito de compra realizado con php/mysql para seleccionar productos, en este caso camisetas.
Cada comprador puede personalizar su camiseta con un nombre, con un color, etc.
Toda la personalización la hago a traves de un formulario que rellena el comprador, y las preferencias elegidas las meto en variable de sesión. Luego muestro el producto elegido con la personalización cuando se muestra el contenido del carrito.
Todo me funciona bien cuando cada comprador elige un solo producto, porque si elige más de uno, al mostrar el contenido del carrito con todos los productos, y cada uno con su personalización, me muestra la personalización del último en todos, es como si la última personalización es la que queda.
Supongo que la cuestión es asociar cada personalización con el producto elegido, pero éso es lo que no logro.
Si alguien puede echarme una mano, se lo agradezco mucho. Estoy completamente atascado.
Gracias y saludos.
  #2 (permalink)  
Antiguo 05/05/2009, 09:32
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: mostrar preferencias guardadas en variable sesion

Pues lo que puedes hacer es guardar mejor un array en la sesión y asi puedes guardar las diferentes personalizaciones por cada prenda.

Saludos.
  #3 (permalink)  
Antiguo 06/05/2009, 11:51
 
Fecha de Ingreso: febrero-2005
Mensajes: 12
Antigüedad: 19 años, 2 meses
Puntos: 0
Respuesta: mostrar preferencias guardadas en variable sesion

Gracias por tu respuesta, efectivamente intento guardar la personalizacion en un array, y me lo guarda, pero cuando lo voy a mostrar me muestra la personalización del último producto para todas los productos.
Pongo los trozos de codigo que creo necesario para la explicacion:
En la pagina que guarda la personalización:
Código PHP:
session_start(); 
if(isset(
$_SESSION['carro'])) 
$carro=$_SESSION['carro'];else $carro=false;
$carro[md5($id)]=array('identificador'=>md5($id),'personalizar'=>$personalizar);
$_SESSION['personalizar] = $_POST['personalizar]; 
En un formulario hay un input para personalizar:
<form action="" method="post" name="personalizar_dibujo" class="form" id="personalizar_dibujo">
<input name="personalizar" type="text" id="personalizar" size="50" />
<input type="submit" name="boton_personalizar" id="boton_personalizar" value="Personalizar" />

En la pagina que muestra los productos del carro:
Código PHP:
session_start();
if(isset(
$_SESSION["carro"])) 
$carro=$_SESSION["carro"];else $carro=false;
$personalizar=$_SESSION['personalizar'];
echo 
$personalizar
Guardar la personalizacion lo hace bien, pero a la hora de mostrarla es donde hay problemas.
Me muestra bien la personalizacion si solo hay una id, es decir, un producto.
Pero si hay varios productos me muestra en todos los productos la misma personalización, la que haya puesto para el último producto que haya metido en el carro.
Si alguien me puede ayudar a mostrar correctamente

Gracias por vuestra ayuda, y saludos.
  #4 (permalink)  
Antiguo 06/05/2009, 14:38
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: mostrar preferencias guardadas en variable sesion

$_SESSION['personalizar] = $_POST['personalizar]; ahi sobreescribes para guardar en un arreglo puedes usar algo asi:
Código php:
Ver original
  1. $_SESSION['personalizar'] = array();
  2. $_SESSION['personalizar'][] = $_POST['personalizar];

Saludos.
  #5 (permalink)  
Antiguo 13/05/2009, 05:53
 
Fecha de Ingreso: febrero-2005
Mensajes: 12
Antigüedad: 19 años, 2 meses
Puntos: 0
Respuesta: mostrar preferencias guardadas en variable sesion

Gracias por la respuesta y perdona por la insistencia pero es que con la solución que me das, me muestra la palabra "array" pero no los valores introducidos. Parece que se crea el array pero no recoge los valores introducidos.
Estoy mostrando los datos del array con este codigo:
Código PHP:
for($i =0$i count($carro); $i++) {
echo 
$personalizar[$i];
 } 
No sé si será por la forma de mostrar los datos.
Gracias de todas las maneras por vuestra ayuda.
Saludos.
  #6 (permalink)  
Antiguo 13/05/2009, 09:28
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: mostrar preferencias guardadas en variable sesion

Si te dice "Array" es porque es un arreglo, imprime los valores dentro del arreglo, por ejemplo:
Código php:
Ver original
  1. for($i =0; $i < count($carro); $i++) {
  2.      var_dump( $personalizar[$i] );
  3. }

Saludos.
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 16:27.