• User Newbie

    Problema con il carrello

    Salve a tutti ho un problema con le session e il carrello in php.
    Ho una pagina dove sono presenti i miei prodotti. Cliccando sull'immagine del carrello del prodotto che voglio acquistare ho messo un link ad una pagina di appoggio in cui con un $_GET mi leggo l'id scelto.
    Poi ho usato le session cosi:

    codice pagina appoggio.php
    //estraggo i valori libro e quantita dalla pagina principale
    $id_libro=$_GET['idlibro'];
    $quantita=$_REQUEST['quantita'];

    //query al db per prendermi il prezzo e il titolo del libro in base all'id scelto
    $query ="SELECT * from libro where id_libro = '$id_libro'";
    $result = mysql_query($query);
    $row=mysql_fetch_array($result);
    $titolo=$row["titolo"];
    $prezzo=$row["prezzo"];

    //memorizzazione nella session dei valori ottenuti
    $_SESSION['cart']['$id_libro']['titolo'] = $titolo;
    $_SESSION['cart']['$id_libro']['prezzo'] = $prezzo;
    $_SESSION['cart']['$id_libro']['quantita'] = $quantita ;

    //torna alla pagina indietro ovvero alla pagina che chiama
    header("location:".$_SERVER['HTTP_REFERER']);

    codice pagina libri.php
    A questo punto nella pagina principale che contiene i libri che voglio vendere
    ho il seguente codice:
    foreach ( $_SESSION['cart'] as $id_libro)
    {
    ?>
    <tr>
    <td><?php echo $_SESSION['cart']['$id_libro']['quantita']?> x <?php echo $_SESSION['cart']['$id_libro']['titolo']?> </td>
    </tr>
    <tr>
    <td>Euro: <?php echo $_SESSION['cart']['$id_libro']['prezzo']?> </td>
    </tr>
    <?php
    }
    ?>

    Il mio problema è che a video mi viene stampato l'ultimo libro scelto e non tutto i libri che scelgo, come se la session non conservasse i libri che acquisto.
    Vi prego aiutatemi.

    Sito*: editest.it/prova/carrello/catalogo-materia.php

    Obiettivi del sito*: ecommerce

    Descrizione del Problema o della specifica richiesta*: Salve a tutti ho un problema con le session e il carrello in php.

    Ho una pagina dove sono presenti i miei prodotti. Cliccando sull'immagine del carrello del prodotto che voglio acquistare ho messo un link ad una pagina di appoggio in cui con un $_GET mi leggo l'id scelto.

    Poi ho usato le session cosi:

    codice pagina appoggio.php

    //estraggo i valori libro e quantita dalla pagina principale
    $id_libro=$_GET['idlibro'];
    $quantita=$_REQUEST['quantita'];

    //query al db per prendermi il prezzo e il titolo del libro in base all'id scelto
    $query ="SELECT * from libro where id_libro = '$id_libro'";
    $result = mysql_query($query);

    $row=mysql_fetch_array($result);
    $titolo=$row["titolo"];
    $prezzo=$row["prezzo"];

    //memorizzazione nella session dei valori ottenuti
    $_SESSION['cart']['$id_libro']['titolo'] = $titolo;
    $_SESSION['cart']['$id_libro']['prezzo'] = $prezzo;
    $_SESSION['cart']['$id_libro']['quantita'] = $quantita ;

    //torna alla pagina indietro ovvero alla pagina che chiama
    header("location:".$_SERVER['HTTP_REFERER']);

    codice pagina libri.php

    A questo punto nella pagina principale che contiene i libri che voglio vendere

    ho il seguente codice:

    foreach ( $_SESSION['cart'] as $id_libro)
    {
    ?>

      x  
    

    Euro:

    Il mio problema è che a video mi viene stampato l'ultimo libro scelto e non tutto i libri che scelgo, come se la session non conservasse i libri che acquisto.

    Vi prego aiutatemi.


  • Super User

    Ciao Pasdelv e benvenuto nel forum GT,
    ti sposto nella sezione PHP che è più adatta al tuo problema tecnico.


  • User Newbie

    grazie aspetto risposta al problema