Stavo allegramente imprecando stamattina contro il server FTP del nodo8 di tophost su cui è ospitato un progetto a cui lavoro, siccome non era utilizzabile a causa di impressionante lentezza nelle risposte.
Ho colto l’occasione per rivedere alcuni aspetti del codice PHP e riordinare la gestione delle sessioni utente per renderle più funzionali, al che ho deciso di caricare in un’unica variabile di sessione, $_SESSION["user"]
, un array contenente tutti i dati rilevanti dell’utente per potervi accedere rapidamente senza richiedere costantemente un accesso al database.
Ebbene, non sembrava che riuscissi a far funzionare nulla, eppure è tecnicamente possibile caricare un array all’interno di una variabile di sessione. L’array veniva caricato subito dopo il login (confermato da var_dump
) ma alla pagina successiva era sostituito da una stringa, corrispondente allo username MySQL del sito. Ho messo in discussione il mio codice, cercando dove fosse il problema, e modificando alcune assegnazioni (il tutto perdendo minuti ad aspettare che il server FTP accettasse gli upload), fino a quando non ho provato a cambiare il nome della variabile a $_SESSION["visitor"]
, e magia, ha funzionato tutto correttamente. A quanto pare, siccome non ho trovato traccia di questo in manuali “ufficiali”, i server di tophost sono impostati per accedere al nome utente MySQL tramite la variable di sessione “user”… non so cosa pensare. Qual è la variabile di sessione contenente la password MySQL?