Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24
  1. #1

    come passare i valori alla sessione?

    ciao! sto tentando di fare un carrello usando le sessioni.. ma la mia perplessità è: come faccio a fare in modo che se clicco su un prodotto i suoi dati entrino nella sessione? ovviamente il codice è quello già visto in questo forum:

    Codice PHP:
    session_start();
    $_SESSION['cart'][1234]['nome'] = 'rose';
    $_SESSION['cart'][1234]['prezzo'] = '40.00'
    se questo codice è contenuto nella pagina add_cart.php, ma io voglio che nella stessa pagina ci siano diversi prodotti cliccabili, con ovviamente un altro nome ed un altro prezzo, come si fa? devo usare un javascript??

  2. #2
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    ci vediamo dopo a cena


    Cmq... dovrai usare 2 pagine

    1) pagina con i prodotti
    2) pagina di inserimento nel carrello

    Alla pagina2 passerai il codice del prodotto ed inserirai in sessione i valori che ti interessano.
    Potresti farlo anche in tempo reale usando ajax... che però non conosco ancora

    inoltre: se i dati dei prodotti li hai su db allora prendi l'id ,fai una query ed estrapoli i dati che ti occorrono mettendoli in sessione.

    Altrimenti passi tutto tramite get o post
    Guybrush Threepwood

  3. #3
    mmm ho capito...

    ma se io voglio sommare i valori contenuti nel campo prezzo dell'array $_SESSION, come si fa?

  4. #4
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    mettiamo caso che hai un db dei prodotti, io farei così

    Codice PHP:
    $sql="select * from prodotti order by id"
    $rs=mysql_query($sql);
    while (
    $row=mysql_fetch_array($rs))
    {     
    $ids.=$row['id'].",";     }

    $ids=substr($ids,0,-1); // tolgo l'ultima virgola
    $ids=split(",",$ids);

    for (
    $i=0$i++; $i<cont($ids))

        
    $val=$ids[$i];
        if (
    $_SESSION['cart'][$val]['prezzo'])
        {
            
    $prezzi=$prezzi+$_SESSION['cart'][$val]['prezzo'];
        }
    }

    echo 
    $prezzi
    Ovviamente va perfezionato... ma credo possa essere una soluzione valida
    Guybrush Threepwood

  5. #5
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    Se no, prova questa funzione: http://it.php.net/array_sum
    Guybrush Threepwood

  6. #6
    ti vedo ferrato! allora ti chiedo ulteriori lumi! come mai questo codice:

    Codice PHP:
    <?php
    session_start
    ();
    ?>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Carrello</title>
    </head>

    <body>
    <?php
    $i 
    0;
    if (isset(
    $_POST['prodotto'])) {
    $prodotto $_POST['prodotto'];
    switch (
    $prodotto){
    case 
    'prod1':
    $_SESSION['cart'][0004]['nome'] = 'zucca';
    $_SESSION['cart'][0004]['prezzo'] = '40.00';
    $_SESSION['cart'][0004]['quantita'] = $i++;
    break;
    case 
    'prod2':
    $_SESSION['cart'][0006]['nome'] = 'pipistrelli';
    $_SESSION['cart'][0006]['prezzo'] = '60.00';
    $_SESSION['cart'][0006]['quantita'] = $i++;
    break;
    case 
    'prod3':
    $_SESSION['cart'][0008]['nome'] = 'albero';
    $_SESSION['cart'][0008]['prezzo'] = '20.00';
    $_SESSION['cart'][0008]['quantita'] = $i++;
    break;
    }
    }
    ?>

    <form action="carrello.php" method="post">
    <button type="submit" name="prodotto" value="prod1">[img]22402451.jpg[/img]</button>
    <button type="submit" name="prodotto" value="prod2">[img]20852938.jpg[/img]
    </button>
    <button type="submit" name="prodotto" value="prod3">[img]22402931.jpg[/img] </button>
    </form>



    </p>


    </p>


    tot prodotti nel carrello: <?php count($_SESSION); ?> </p>


    totale: </p>


    prodotti nel carrello:
    <?php
    foreach ( $_SESSION['cart'] as $key )
           {
             
              echo (
    "Nome: " $_SESSION['cart'][$key]['nome'] . "
    "
                 
    "Prezzo: " $_SESSION['cart'][$key]['prezzo'] . "
    "
                 
    "Quantità: " $_SESSION['cart'][$key]['quantita'] . "
    "
                 
    "ID: "$key "
    "
    ) ;
           }
    ?>
    </p>
    </body>
    </html>
    mi da tutti questi errori?

    prodotti nel carrello:
    Warning: Illegal offset type in C:\Programmi\Apache Group\Apache2\htdocs\new\carrello.php on line 51

    Warning: Illegal offset type in C:\Programmi\Apache Group\Apache2\htdocs\new\carrello.php on line 52

    Warning: Illegal offset type in C:\Programmi\Apache Group\Apache2\htdocs\new\carrello.php on line 53
    Nome:
    Prezzo:
    Quantità:
    ID: Array

  7. #7
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    premettiamo che non sono errori ma warning (in pratica se setti bene il php ini non li vedi +).

    cmq...è php che s'arrbbia con gli array

    http://it2.php.net/types.array
    Guybrush Threepwood

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    evita 000x, metti semplicemente x, altrimenti si aspetta un numero e magari 000x non gli piace come formato.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  9. #9
    però in ogni caso non funziona...

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    codice:
    switch ($prodotto){ 
    case 'prod1': 
    $_SESSION['cart']['0004']['nome'] = 'zucca'; 
    $_SESSION['cart']['0004']['prezzo'] = '40.00'; 
    $_SESSION['cart']['0004']['quantita'] = $i++; 
    break; 
    case 'prod2': 
    $_SESSION['cart']['0006']['nome'] = 'pipistrelli'; 
    $_SESSION['cart']['0006']['prezzo'] = '60.00'; 
    $_SESSION['cart']['0006']['quantita'] = $i++; 
    break; 
    case 'prod3': 
    $_SESSION['cart']['0008']['nome'] = 'albero'; 
    $_SESSION['cart']['0008']['prezzo'] = '20.00'; 
    $_SESSION['cart']['0008']['quantita'] = $i++; 
    break; 
    }
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.