Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    11

    Strano problema $_SESSION

    salve a tutti,
    da qualche tempo ho uno strano problema con le sessioni di cui non riesco a venire a capo.
    Sono abbastanza inesperto di php quindi può essere un mio utilizzo sbagliato della variabile $_SESSION, però non capisco il problema.

    Spiego un attimo il funzionamento delle pagine in cui ho il problema:
    la prima pagina chiamata aggiungi.php viene richiamata da ajax e dovrebbe aggiungere all'array $_SESSION un sottoarray con alcuni dati presi da un database Mysql.
    la seconda pagina (contenuto.php) dovrebbe mostrarmi questo contenuto.

    Ora, la prima pagina ha questo codice:
    Codice PHP:
    require_once('../config/config.inc'); 
    $componente=mysql_fetch_array(mysql_query('SELECT id,img,map FROM componenti where id='.$_GET['id'].' limit 1')); 
    $_SESSION[$componente['id']]=array('img'=>$componente['img']); 
    echo 
    $_SESSION[1]['img']; 
    il file config.inc contiene la funzione session_start();
    nell'ultima riga ho stampato la voce 1 di $_SESSION perchè nei miei test uso quello come unico indice inseribile, e la echo va a buon fine.

    La seconda pagina:
    Codice PHP:
    require_once('../config/config.inc');
    echo 
    $_SESSION[1]['img']; 
    invece qui la echo non va a buon fine!!!
    Inoltre provando ad aggiungere un foreach che giri su $_SESSION e non viene fatto nemmeno un ciclo.

    Ho provato ad usare un'altra variabile in $_SESSION, aggiungendo nella prima pagina $_SESSION['numcomp'] = 3; e poi a stamparla nella seconda pagina, e questa funzionava.
    C'è quindi qualcosa che non va con l'assegnazione delle variabili nelle sessioni... ma cosa?

    Spero di non essere stato troppo confuso nell'esporre il problema.

  2. #2

    Re: Strano problema $_SESSION

    Originariamente inviato da Duma

    Ho provato ad usare un'altra variabile in $_SESSION, aggiungendo nella prima pagina $_SESSION['numcomp'] = 3; e poi a stamparla nella seconda pagina, e questa funzionava.
    C'è quindi qualcosa che non va con l'assegnazione delle variabili nelle sessioni... ma cosa?

    Spero di non essere stato troppo confuso nell'esporre il problema.
    Vediamo se riesco a spiegarmi usando parole poco ortodosse ...

    l'array $_SESSION e' un "contenitore" di variabili da serializzare nel file di sessione senza dover registrare preventivamente alcuna di queste variabili. Quindi non e' un vero array, ma piu' un "contenitore". Questo comporta che gli indici possono essere solo associativi e devono rispondere alle stesse caratteristiche a cui sono soggetti i nomi delle variabili. Quindi NON possono essere numeri, iniziare con un numero, trattini, etc etc....

    vedi il manuale per tutte le limitazioni.

    http://www.php.net/manual/it/language.variables.php

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.