Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Carrello in PHP

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    173

    Carrello in PHP

    Salve a tutti,
    Ho creato un piccolo sito in locale con un carrello. Ho una pagina che ad ogni articolo che clicco passa l'id tramite metodo GET ad una pagina addcarrello.php il codice è il seguente:

    Codice PHP:
    include("config.php");    
    $id_art mysql_real_escape_string($_GET['id_art']);        
    $arr = array();    
    session_start();   
    $arr[] = $id_art;  
    $stringa implode(','$arr);  
    $_SESSION['carrello'] = $stringa;  
    echo 
    $_SESSION['carrello']; 
    Vorrei che l'id di ogni articolo venisse salvato in un'array e a sua volta questo array in una sessione.
    Solo che quando clicco mi mostra solo un'id nonostante ne aggiungo tanti me ne mostra sempre e solo uno, mentre io vorrei che in questo array si memorizzasse l'id di tutti gli articoli che clicco.
    Grazie in anticipo!

  2. #2
    Codice PHP:
    session_start();
    include(
    "config.php");
    $id_art mysql_real_escape_string($_GET['id_art']);
    if (empty(
    $_SESSION['carrello'])) {
        
    $_SESSION['carrello'] = $id_art;
    } else {
        
    $_SESSION['carrello'] .= ",".$id_art;
    }
    echo 
    $_SESSION['carrello']; 
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    173
    Ti ringrazio infinitamente per la tua risposta. Avrei solo un'ultima domanda... e per togliere un'id dalla sessione?

  4. #4
    Immaginavo questa necessità ma a questo punto non è pratico inserire come stringa i vari id separati da virgola nella sessione ma ti conviene inserire in sessione direttamente l'array contenente gli ID.
    Mantenendo qusta logica invece, dovresti fare una cosa del genere:

    Codice PHP:
    ...
    function 
    remove($arr$id) {
        if (
    in_array($id$arr)) {
            unset(
    $arr[array_search($id$arr)]); 
            return 
    array_values($arr);
        } else {
            return 
    $arr;
        }
    }

    $id "ID da rimuovere";
    $ids explode(","$_SESSION['carrello']);
    $newIds remove($ids$id);
    $_SESSION['carrello'] = implode(","$newIds);
    ... 
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

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.