Foros del Web » Programando para Internet » PHP »

Modificar una variable session

Estas en el tema de Modificar una variable session en el foro de PHP en Foros del Web. Hola a todos, estoy haciendo un carro de compras que esta casi terminado. Funciona con variables session, en realidad son dos variables session. Una contiene ...
  #1 (permalink)  
Antiguo 22/09/2015, 15:36
 
Fecha de Ingreso: enero-2010
Mensajes: 400
Antigüedad: 14 años, 2 meses
Puntos: 6
Modificar una variable session

Hola a todos, estoy haciendo un carro de compras que esta casi terminado.
Funciona con variables session, en realidad son dos variables session.
Una contiene el numero de id del producto que con eso llamo muestro el resto de los datos, y la otra variable contiene la cantidad de unidades solicitados.
Tiene la opcion de eliminar el pedido, lo que no se como hacer es la opcion de poder cambiar la cantidad pedida, ej, si pedi 5 remeras y me arrepenti y quiero solo 4 como puedo hacer ?

Es decir necesito saber como puedo modificar el valor que contiene una variable session
esta es la variable que desearia modificar:
Código PHP:
<?php print $_SESSION["productos"][$nombre][1]; ?>
Que me sugieren ?

Intente asi: Creando un formulario que te permita ingresar nuevamente la cantidad.

Código PHP:
<?php if (!empty($_POST["cantidad"])){
            
$_SESSION["productos"][$nombre][1] = $_POST["cantidad"];
            } 
?>
El problema es que me cambia la columna entera de cantidad de todos los productos, no solo 1.

Se entendio ?
Gracias

Última edición por bbrian; 22/09/2015 a las 15:44
  #2 (permalink)  
Antiguo 22/09/2015, 20:03
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Modificar una variable session

Cita:
Se entendio ?
No mucho, sería mejor que muestres la estructura de datos completa.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 22/09/2015, 21:35
 
Fecha de Ingreso: enero-2010
Mensajes: 400
Antigüedad: 14 años, 2 meses
Puntos: 6
Respuesta: Modificar una variable session

Cuando le doy a comprar un producto a traves de un input text elijo la cantidad de productos a comprar...

Ahi se genera una variable session id, y otra variable session cantidad que es la que quiero modificar.

Con la variable session id, hago la consulta:

"select * from productos where id = " . $_SESSION["productos"][$nombre][0] . ""

Lo tengo de esta manera a la forma de mostrar los productos que se agregaron al carrito:

Código PHP:
 <?php
        $var 
0;
        if (isset(
$_SESSION["productos"])) {
        
$nombres_campos array_keys($_SESSION["productos"]);
        foreach (
$nombres_campos as $nombre) {
            
$result2 mysqli_query($db,"select * from productos where id = " $_SESSION["productos"][$nombre][0] . "");
            
            while (
$row2 mysqli_fetch_array($result2))
            { 
        
?>
<?php $row2
["precios"]; ?>
<?php $_SESSION
["productos"][$nombre][1]; ?>
<?php $calculo 
$_SESSION["productos"][$nombre][1] * $row2["precios"]; ?>
<?php $calculo
?>

         <?php
         $var 
+= $calculo;
         
         
?>

<?php } } } ?>
Mi problema es si yo a la variable $_SESSION["productos"][$nombre][1] que es la que contiene la cantidad elegida quiero modificarla y cambiar la cantidad que pedi...

Como puedo hacer para que ese valor que esta en $_SESSION["productos"][$nombre][1] se cambie a otro ?
  #4 (permalink)  
Antiguo 23/09/2015, 07:07
 
Fecha de Ingreso: enero-2010
Mensajes: 400
Antigüedad: 14 años, 2 meses
Puntos: 6
Respuesta: Modificar una variable session

Ya lo solucione, compare los id para cambiar la cantidad, asi me cambia a uno solo y no a dos.
Código PHP:
<?php
        
if($_SESSION["productos"][$nombre][0] == isset($_POST['id'])){
            
$_SESSION["productos"][$nombre][1] == $_POST['cant'];
            }
         
?>
gracias !!
  #5 (permalink)  
Antiguo 23/09/2015, 07:10
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Modificar una variable session

Esto está mal:
Código PHP:
Ver original
  1. $_SESSION["productos"][$nombre][0] == isset($_POST['id'])

Ahí no comparas ningún id, ya que isset() devuelve TRUE o FALSE.

¿Cómo puede ser posible que te funcione algo así?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: modificar, session, variable
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 12:52.