Back to top

Autore Topic: Array in sessione, la via migliore?  (Letto 1715 volte)

Offline cyberobs

  • Nuovo arrivato
  • *
  • Post: 7
  • Sesso: Maschio
    • Mostra profilo
Array in sessione, la via migliore?
« il: 11 Mar 2011, 10:48:57 »
Ho necessità di creare un moltiform (pattern MVC) per la registrazione dell'utente. Dopo aver compilato gli n form, l'ultima submit è quella che mi consente di buttare tutti i dati nel db.

Quindi di volta salvo i dati delle form in un array della sessione
Codice: [Seleziona]
$session->set('post1', $post1);
...
$session->set('post2', $post2);
...

per poi richiamarli alla fine e fare i vari store() nel db.

Il tutto funziona.

Come la vedete?
Ci sono altri metodi per portarmi i dati delle form?
« Ultima modifica: 11 Mar 2011, 11:03:08 da cyberobs »

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Array in sessione, la via migliore?
« Risposta #1 il: 12 Mar 2011, 08:39:44 »
il metodo classico sono i campi hidden nella form, il metodo Joomla è quello di usare i metodi (get|set)UserState[FromRequest] della classe JApplication.

se le pagine della form non variano a seconda dei dati inseriti consiglio una form unica e paginazione jscript.

ciao,
marco
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline cyberobs

  • Nuovo arrivato
  • *
  • Post: 7
  • Sesso: Maschio
    • Mostra profilo
Re:Array in sessione, la via migliore?
« Risposta #2 il: 14 Mar 2011, 11:45:32 »
Ciao Marco,

Le pagine variano a seconda dei dati inseriti...  :(

Cmq nel metodo register_save del controller c'è il seguente codice

Codice: [Seleziona]
JRequest::checkToken() or jexit( 'Invalid Token' );
che praticamente controlla se la sessione è stata falsificata. Dopo aver effettuato questo controllo mi da errore.
Se tolgo questa linea di codice, funziona.

Penso che cmq se joomla implementi certi controlli è importante lasciarli.
Come posso allora mantenere gli array (i dati delle form) in sessione, senza togliere quel codice ?  ???
« Ultima modifica: 14 Mar 2011, 12:12:22 da cyberobs »

Offline cyberobs

  • Nuovo arrivato
  • *
  • Post: 7
  • Sesso: Maschio
    • Mostra profilo
Re:Array in sessione, la via migliore?
« Risposta #3 il: 14 Mar 2011, 15:19:14 »
[risolto]

bisogna inserire il seguente codice nel template:

Codice: [Seleziona]
<?php echo JHTML::_'form.token' ); ?>
 ;)

P.S.
stavo guardando un po' come utilizzare per ogni form, un token diverso...
« Ultima modifica: 14 Mar 2011, 15:35:21 da cyberobs »

 



Web Design Bolzano Kreatif