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

    Creare un carrello con le sessioni

    Salve

    sto cercando di memorizzare tutti gli oggetti contenuti inseriti da un utente all'interno di una variabile sessione:

    Codice PHP:
    echo '<div class="avviso">';
        if((isset(
    $_GET['idc']))&&($_GET['idc'])&&(is_numeric($_GET['idc'])))//se è settata, ha un valore, è numerica
        
    {
            
    $idc=$_GET['idc']; //l'oggetto lanciato dall'utente
            
    $_SESSION['numero']++; //il contatore di oggetti inseriti nel carrello
            
    $_SESSION['cart']=array($_SESSION['numero'] => $idc); //gli oggetti inseriti nel carrello
            
    echo 'Oggetto aggiunto al carrello

    Non aggiornare al pagina. Sarai reindirizzato alla pagina precendete.</p>'
    ;
            
    //outuput di prova
                    
    echo $_SESSION['numero'];
            foreach(
    $_SESSION['cart'] as $ogg){
                echo 
    '
    '
    .$ogg ;
            }
        }else{
            echo 
    'Errore: oggetto non trovato.';    
        }
        echo 
    '</div>'
    nell'output mi vieni visulizzato giustamente il numero di oggetti inseriti nel carrello ma solo con il foreach mi vieni visualizzato solo l'ultimo oggetto che è stato inserito, vengono infatti sovrascritti (credo) gli altri inseriti in precedenza.

    A questo punto ho perso il filo non so cosa fare...un aiuto?
    Grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Potresti usare qualcosa del genere

    codice:
    $_SESSION['cart'][] = $idc;
    
    echo count($_SESSION['cart']);
    foreach($_SESSION['cart'] as $ogg){
        echo $ogg;
    }
    Per gli Spartani e Sparta usa spartan Il mio github

  3. #3
    correggimi se sbaglio

    Codice PHP:
    //aggiungo un nuovo oggetto all'array
    $_SESSION['cart'][] = $idc;

    //outuput del numero degli oggetti nel carrello
    echo count($_SESSION['cart']);

    //output di tutti gli oggetti
    foreach($_SESSION['cart'] as $ogg){
        echo 
    $ogg
    Grande ottimo! Con le giuste modifiche è perfetto! E molto più semplice di come la pensavo io!

    Grazie mille

  4. #4
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    -.-

    a mio avviso ti conviene fare una simulazione di gestione persistenze.

    Ovviamente sappi che finita la sessione => perdi tutto!

    I carrelli solitamente si gestiscono con cookie o web storage. ma se guoi gestire la cosa in sessionedevi anche ricordarti di salvare i dati su database.

    Io fare una bella classe carrello dove stipare tutto e con i metodi per salcvare su db i dati.

    e poi nelle pagine

    1- includi classe
    2- recupera dati da sessione
    3- gestisci dati con i metodi della classe o quelloche sia

    Per la gestione su pagina web fai tutto in ajax!.

    E sei in bolla

  5. #5
    uno dei problemi miei è che non so usare ne i cookie ne le classi ne l'ajax! XD provo a fare le cose con il poco che so fare
    il codice comunque è fatto per le persone che non vogliono registrarsi quindi ho deciso di non farli toccare il DB, con quelle registrate sarà salvato tutto

  6. #6
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Allora usa i cookies.

    Che sono la cosa piu' comoda che puoi fare.

  7. #7
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Puoi leggere anche qui, usi HTML5
    Per gli Spartani e Sparta usa spartan Il mio github

  8. #8
    no l'html5 lo escludo sino al pieno supporto di tutti i browser, l'utenza media utilizza ancora IE6 o 7.
    Vedo cosa riesco a fare con i cookie

  9. #9
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    NO!

    il browser piu' usato e' IE8 il 6 non esiste piu' e il 7 e' in rapida discesa. E mal che vada scrivi nel sito "SE VUOI USARE I MIEI SERVIZI AGGIORNA IL BROWSER QUI".

    Dobbiamo dire basta ai browser obsoleti e FORZARE la gente ad aggiornare le prorprie piattaforme. Avete mai fatto un conto in termini monetari di quanto costi sviluppare siti con layout da 2012 con tutte le retrocompatibilità ?
    E' da tanto tempo che in azienda spingo perche' con i clienti venga chiarito questo punto e che i siti con animazioni etc.. non possono funzionare bene ovunque e se vogliono che sia cosi' devono pagare un extra perche' eprdere 2x ore solo per colpa di vecchi browser non ha senso.

    E cmq tornando in topic, usa i cookies e vedrai che vivi felice

  10. #10
    si sono d'accordo con te ma la lotta è ancora lunga

    devo spendere qualche ora a capire i cookie e sarà tutto apposto quindi!

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.