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.