Controllo sequenza operazioni

5 contenuti / 0 new
Ultimo contenuto
Controllo sequenza operazioni

Sulla falsariga del modulo formexample, trovato su drupal.org, ho scritto un form di aggiornamento di un database e le sue relative funzioni di controlllo campi e convalida.
Ora vorrei complicarlo in modo che venisse mandato in esecuzione, prima del form principale di accettazione dati, un nuovo form che chieda codice utente e password. (Per ragioni mie non vorrei usare la procedura standards di autenticazione al sito ed inoltre vorrei acquisire maggior dimestichezza con le funzioni drupal).
Questo dovrebbe mandare ad un procedura di controllo ed autenticazione (tramite accesso ad un database) e, se superato il test, dovrebbe venire ceduto il controllo al form principale di immissione dati.
Qualche idea sul come controllare il flusso delle operazioni?
Grazie a chiunque mi potrà dare una dritta.

IMHo ti conviene giocare su hook_perm usando le funzioni di autenticazione standard, se proprio vuoi fare il giro che indichi tu ti conviene dare un occhio a come produrre form multistep, il primo step è l'autenticazione, se l'autenticazione viene superata mostri il secondo step, altrimenti viene mandato alla pagina di autenticazione fallita (o rimostri il primo step con messaggio di errore), non so se mi sono fatto capire, al max richiedi :D

Ciao
Marco
--
My blog
Working at @agavee

Grazie dello spunto, Mavimo. Sei forte.

Scusa Mavimo, posso chiederti?
E se adoperassi due form su due pagine diverse?
Il primo potrebbe lanciare il secondo tramite la clausola return della funzione di submit.
Come si farebbe in questo caso a catturare la variabili immesse?
Chiedo scusa se la domanda è troppo ignorante.

usando due form perdi un sacco di cose, perché l'utente andando direttamente al secondo potrebbe bypassare il primo, quindi IMHO non è la soluzione consigliabile (se ho capito cosa vuoi fare). In sintesi la soluzione più pulita IMHo è quella che ti ho consigliato all'inizio, ovviamente ha degli inconvenienti, visto che devi gestirti tu la parte relativa al multistep e devi crearti un form ad hoc. Potresti anche fare qualche prova usando i CCk, ce n'è un tipo (cerca non ricordo come si chiama) ceh permette di splittare un form in più parti, magari usando quello riesci ad ottenere una soluzione che può andare bene alle tue esigenze, anche se è comunque una cosa "sporca").

Ciao
Marco
--
My blog
Working at @agavee