1

Cinquanta sfumature di sessione, quello che Anastasia con il manuale del framework non ti dirà mai nella stanza torbida di Codeigniter

Oggi ho risolto il problema delle sessioni, eureka, era da una ventina di giorni che speravo di sistemare! Ma il titolo che ci azzecca? Mica è la stanza dei peccati del libro pakko più letto del pianeta dove le confessioni scabrose diventano business da intrattenimento! No qui abbiamo a che fare con il manuale di Codeigniter dove si leggono un sacco di cose belle e meravigliose ma manca poi quel “quid” che consente al NEWBIE di APPLICARE poi la tecnica o la singola istruzione sciorinata dalla bibbia sacra del framework per RISOLVERE UNA QUESTIONE PRATICA. Vediamo prima in sintesi di cosa stiamo parlando. Andando su http://umbriawayformazione.altervista.org/ci_project_competenze/ e facendo il login si entra in informazioni riservate (ma non troppo, non ci sono numeri di carte di credito) che sono protette dall’ esterno su altri browser dalle sessioni, identificate univocamente da id esclusivo. Come tutti Il protocollo HTTP usato per la connessione e la trasmissione delle pagine Web, è un protocollo SENZA MEMORIA o STATELESS. Per aggirare questa situazione possono tornare utili le sessioni. In procedurale avremo una classica situazione caratterizzata daL PULSANTE CHE ACCENDE LE DINAMICHE IN OGGETTO:

Session_start();

Quando la sessione viene ATTIVATA E APERTA viene inizializzato un ARRAY SUPERGLOBALE di nome

$_SESSION[];

un cassetto che andrà a ricevere tutti i dati che si intende ricordare, spesso username e password di chi si sta per LOGGARE. La domanda retorica “ma la $_SESSIONweb design umbria é vuota o piena” serve a proteggere con una istruzione condizionale IF / ELSE tutte le pagine che si intendono occultare al visitatore scaltro che magari alle nostre spalle adocchia un indirizzo web e intende replicarlo su altro browser presso altra macchina. Per esempio potremmo includere un file per queste pagine dove all’ interno esternamente lavora una condizione del tipo se la superglobals é piena e contiene la variabile X,Y,Z fai vedere il contenuto della pagina, altrimenti reindirizza il curiosone troppo curioso altrove, magari al form di login! Ok il manuale di Codeigniter darà per scontato che un minimo di PHP bisogna conoscerlo per seguire almeno le indicazioni base, ma di fatto poi la pratica quando hai un corpo fatto di vestiti di anima e di carne ed ossa (rispettivamente la VIEW, il controller e il Model) che differisce dalla linearità non sai dove devi scrivere le cose e neanche se la sintassi poi suona bene perché di fatto devI procedere a tentoni cercando di incapsulare con delle graffe questo o quell’ elemento, finche alla fine l’azzecchi e la risposta arriva; per far funzionare le sessioni devi richiamare per ogni pagina che si desidera

($this->session->userdata(‘nomevariabilesessione’))

intorno alla QUERY del MODELLO che ovviamente é diversa per ogni progetto e ha le sue specificità legato alla pagina a cui il controller con il suo metodo é legato! Ma mica il Newbie é come la maga Circe che le cose le sa per nascità onnicomprensiva divina?! Ma per impare l’inglese conoscere almeno una lingua alternativa base per capire quali sono i pronomi e i verbi e i complementi oggetto non sarebbe utile?! Più che utile , indispensabile! Avere un minimo di destrezza con la grammatica di base, in questo modo passare a Codeigniter dopo aver sperimentato un pò di procedurale é un balsamo benefico. In ogni caso scomporre i problemi grandi in piccoli pennelli (chi non ricorda la pubblicità cinghiale?) produce enormi vantaggi e una volta entrati nella stanza segreta delle sessioni con Anastasia ogni più torbido segreto sarà rivelato!