Newsgroup: it.comp.www.php
Titolo: form submit e back come lo gestite voi ?

salve vorrei scrivere del codice che una volta per tutte
mi gestisca i form
quello che dovrebbe fare questo codice è questo (a grandi linee) :
ho un form con .n-campi
li compilo faccio il submit si verifica un errore
rimostro il form con valori già inseriti e con le informazioni di errore 
relative se ci sono
so che ci sono librerie apposiste potete consigliarmi qualcosa da cui 
prendere spunto ?
preciso:
Io non voglio reinventare la ruota quello che io voglio è una cosa si 
automatica o semi ma che slegata e libero per esempio il form volgio poterlo 
scrivere
con un qualsiasi editor html e non dove per forza usare delle classi 
apposite (per quello sto stentando ad usare altre librerie...)
più o meno ho trovato delle soluzioni ma mi sono bloccato quando dovevo 
gestire il controllo select col l'opzione multiple.
avete qualche consiglio ?
grazie ciao

 prendere spunto ?
Cerca su phpclasses, ce ne sono a decine, prova anche
http://www.formhandler.net/
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
Vuoi supportarmi? 
http://url.repository.biz/go/3E
Do. Or do not. There is not try.

 relative se ci sono
io in genere faccio un form simile:
<input type=text name=ciccio value="<?php echo $_POST['ciccio'] ?>"...
<select name=pippo>
   <option value=1 <?php if($_POST['pippo']==1) echo "selected" ?>>...
poi col submit reindirizzo il form sulla pagina stessa; se l'inserimento 
funziona faccio un redirect altrove, altrimenti ristampo il form.
c'è da dire che le select le genero sempre in automatico da un array e 
foreach, per cui il processo è velocizzato! :)

 ha scritto nel messaggio 
news:43d7c859$0$27408$4faf...@reader1.news.tin.it...

mmm si ho capito , ma in pratica fai un autosubmit...

 mmm si ho capito , ma in pratica fai un autosubmit...
si può anche dire così! è una soluzione che mi fa comodo perché se trovo 
qualche problema nell'inserimento non devo rimandare i dati in $_POST 
alla pagina col form, mi ci trovo già! :D
viceversa se l'inserimento va a buon fine posso mandare l'utente verso 
una pagina di ringraziamento o qualsiasi altra cosa; al limite se voglio 
che l'utente torni sulla stessa pagina per un nuovo inserimento cancello 
l'array $_POST e il form risulterà vuoto.
si possono trovare altri sistemi, è ovvio, ma questo non mi ha mai dato 
controindicazioni. se poi qualcuno ha altre proposte, ben vengano! :)


però se devi riusare la form come fai ? immagina un form di registrazione
la devi usare anche per mostrare i dati quando l'utente dopo essersi 
registrato
vuole modificarli.
---


ho fatto un pò di test, io generalmente ho una struttura del genere:
ho un form con tanti campi supponiamo un form di registrazione
che uso sia per la fase di registrazione (il submit e back)
che per la fase di ricaricamento dati (esempio un utente registrato vuole 
modificare qualche dato del suo profilo)
Mi trovo purtroppo con due punti simili ma non identici e cioè:
1) in cui prendo i dati da un recordset e li metto dentro una classe che li 
gestisce che poi li passa al form (il form non è una classe ma un file html) 
Fase modifica profilo
2) in cui prendo i dati dal post (submit del form) e li metto dentro una 
classe che li gestisce che poi li passa al form (il form non è una classe ma 
un file html) Fase registrazione dopo submit
Ora io ho fatto questa classe di cui parlo nei punti 1,2 che prende i dati e 
li memorizza in sessione , file o db (decido io) e che li sa anche 
ricaricare
il punto  e che non so dove "mettere" il codice 1,2 perchè per adesso vorrei 
evitare di fare una classe form troppo onerosa non avrei il tempo
dovrei studiarla bene etc.
stavo pensado ad una serie di funzioni che servono solo a questo quindi 
avrei per ogni form una
dummy_popolaClasseFormFunzione($sorgenteDati ) ; /* recordset, $_POST*/
Questa idea è una toppa e non mi piace molto però magari può essere uno 
spunto per darmi qualche idea...
avete qualche consiglio da darmi ? 

 vuole modificarli.
Beh, magari è una soluzione "sporca", ma se vuoi utilizzare lo stesso 
form sia per l'inserimento che per la modifica dei dati, ti basta 
"specificare" alla pagina quale sia il compito attuale (ad esempio 
$_POST['azione']="modifica" o "inserisci") e in caso di modifica mettere 
i valori ottenuti dalla query dentro le variabili $_POST.
Mi spiego! Hai un form costruito così?
<input type=text name=ciccio value="<?php echo $_POST['ciccio'] ?>"...
Quando devi modificare i dati fai la query per recuperare i dati, e 
metti il valore del campo "ciccio" dentro $_POST['ciccio']
$_POST['ciccio'] = $row->ciccio;
Non so se sia una soluzione "elegante" (anzi, se qualcuno ha dei 
commenti in proposito li ascolto volentieri); sicuramente è una 
soluzione per pigri! Ma visto che funziona... perché scrivere due form 
identici, uno per l'inserimento e l'altro per la modifica? :D
Bluto