Newsgroup: it.comp.www.php
Titolo: gestione form e pagina di inserimento

salve,
allora supponiamo che abbiamo un form e che questo spedisca dati ad un'altra 
pagina
per inserirle del db (il classico insomma)
generalmente vuoi come gestito il tutto ? come organizzate le varie 
strutture ecc.
grazie ciao. 

 ha detto:

Domanda un pò troppo generica... a che strutture ti riferisci?
Francesco Mazzi
Webmaster di AltroPC.it - 
http://www.altropc.it
 
Project Admin di "PHP Reservation - Online booking system" - 
http://phpreservation.sourceforge.net
Dev.Staff di E-Xoopport - 
http://dev.e-xoopport.it

 Domanda un pò troppo generica... a che strutture ti riferisci?
o per stutture mi riferisco a come organizzare il codice.
ti faccio presente un problema così si prende spunto per questo 3d:
quando io faccio un form uso delle variabili e le spedisco tramite get o 
post
la pagina che riceve prende questi dati e li inserisce.
1. se modifico il nome di una variabile devo modificare anche il codice di 
inserimento
2. se modifico il metodo di spedizione devo modificare anche il codice di 
inserimento
ecc. ec..
delle soluzioni a questi problemi ma anche ad altri che si presentano nello 
sviluppo tipo di un form con parte di inserimento o comunque elaborazione 
dati
spero di aver chiarito ciao. 


Ora č piů chiaro.
Prima di tutto bisogna vedere che tipo di form č, nel senso che
trattare i dati ricevuti da un form di login č un conto, trattare i
dati di un form mail un altro, dal punto di vista della sicurezza; mi
pare di capire che a te interessi piů il caso di qualcosa tipo form
mail, cioč inserimento di dati.
In questo caso io sconsiglio l'uso del metodo GET con un form, e per
quanto riguarda il problema della rinominazione delle variabili, se
sono poche poco male, cambi i nomi e le gestisci abbastanza
facilmente, se sono tante potresti pensare di inviarle in un array in
modo che poi le tratti con un ciclo.
Altre problematiche che possono sorgere sono la gestione dei backslash
e la formattazione del testo.


 e la formattazione del testo.
Mmm... mumble mi aspettavo (senza offesa ) qualcos'altro io unpò ci ho 
pensato
perchè oltretutto il mio obiettivo primario è trovare una soluzione 
riusabile,
butto già un bozza appena ho tempo solo che il problema più noiso dei markup 
o cmq del sito in generale
è la mancanza di stati.!! fra un pagina e l'altra perdi tutto, si ci sono le 
sessioni ma non vorrei rischiare di collassare il serve
cosa molto probabile.

cosa molto probabile.
Dipende tutto da cosa vuoi realizzare, certo puoi anche usare una
classe ad hoc, ma per un piccolo form ne vale la pena? Non c'è una
regola generale da seguire, dipende dalla complessità del problema.
Le sessioni possono essere utili, perché dovrebbe collassare il
server??? Se collassa vuol dire che è messo veramente maluccio.


 cosa molto probabile.
se lo modifichi adeguatamente questo può diventare portabile e se l'invio
non va a buon fine riempe i campi con i valori precedentemente immessi in
modo automatico.. (non testato)
if($_POST['submit']){
// controllo sulle var passate prima della query..
@mysql_connect("","","");
@mysql_query("INSERT ..");
if(@mysql_affected_rows()>0) unset($_POST['var']);
else echo "ERRORE DURANTE L'INVIO<br />";
}
echo <<< EOF
<form method=post action={$_SERVER['PHP_SELF']}>
<input type=text name=var value='{$_POST['var']}'>
<input type=submit name=submit>
</form>
EOF;
-- 
www.iuz-lab.info

 server??? Se collassa vuol dire che è messo veramente maluccio.
non so forse una mia paura preferisco sempre ottimizzare al mox dove 
possibile.
una classe si... a questo ci avevo pensato pure ma perdo una cosa (la 
gestione visuale dei controlli)
spero di essermi spiegato.
e poi se fai una classe come gestisci la transizione fra una pagina e 
l'altra ?


Studiando un pò il problema mi sono accorto che si presente anche un'altro
"problema"
supponiamo il classico caso inserisci - modifica , entrambe usano lo stesso
form
in questo caso come si ci potrebbe comportare
non sto parlando di form da 5 campi ma da 10 15 ecc.
ciao

 ciao
se il submit è 'modifica' allora carichi le informazioni da modificare e
stampi il modulo già compilato con i vecchi valori e un input submit
aggiorna
-- 
www.iuz-lab.info