• User

    Autenticazione e articoli tutto in $_SESSION

    Buongiorno a tutti, dopo una lunga ricerca non sono venuto a capo di un problema, ossia dividere gli elementi della variabile $_SESSION.
    Spiego brevemente, ho creato un'autenticazione utente:

    [PHP]session_start();
    if (!isset($_SESSION['utente']))
    {
    header('location:index.php');
    exit;
    }[/PHP]

    Cliccando su alcuni articoli poi li inserisco in altri elementi della sessione; non sto qui a scrivervi chilimetri di codice ma spero si capisca.

    [PHP]$art = $_GET['art'];
    if (!empty($art))
    {$_SESSION[$art] = $art;}[/PHP]

    Riesco inoltre ad interrogare l'array e farmi restituire le immagini inserite, con possibilità di toglierle dal carrello.

    [PHP]if (!empty($_SESSION))
    {
    echo 'contenuto del carrello';
    foreach ($_SESSION as $key=>$value)
    {
    // istruzioni...
    }[/PHP]

    Così facendo però mi escono tutti gli elementi di $_SESSION, compreso l'utente inserito per l'autenticazione, che non è un'articolo...
    Come posso interrogare solo gli elementi relativi agli articoli, oppure escludere l'utente dal ciclo foreach?

    Sicuramente studiando meglio gli array e le loro funzioni... :mmm: ora però ho l'urgenza, giuro che poi me li studio!

    Grazie infinite in anticipo.


  • ModSenior

    Ciao potoloso,
    inserisci gli articoli in un array, cioè:
    [php]
    $_SESSION['nomearray'][$art]
    [/php]
    Cosi da poter fare il foreach su $_SESSION['nomearray'].


  • User

    Grazie Thedarkita, avevo già provato ad inserire i valori così:

    [PHP]$_SESSION['articolo'][$art];[/PHP]

    Ad ogni inserimento però il nuovo articolo non veniva aggiunto, bensì sostituito, quindi ho risolto così:

    [PHP]$_SESSION['articolo'][$art] = $art;[/PHP]

    $art però si ripete, anche se tutto funziona, è il modo più corretto per inserire dati in un'array?


  • ModSenior

    Non sò cosa stai facendo di preciso, perchè cosi è difficile da capire, ma quello che c'è tra [] è un indice e come tale va utilizzato.


  • User

    Già, solitamente si inserisce un valore numerico, solo che così faccio prima...
    Direi che ho risolto, grazie mille della disponibilità!