Newsgroup: it.comp.www.php
Titolo: urgenza : FORM

salve...
ho un'urgenza , quella di far eun form abbastanza semplice.
dove posso trovare qualche esempio gia' fatto e modificarlo ? o cmq 
prendere spunto da un codice gia' pronto? siccome e' la prima volta che
mi cimento in un codice da zero vorrei non andare allo sbaraglio totale.
seconda domanda... ma le info immesse nel form in che modo arrivano poi
a destinazione? mi spiego meglio , arrivando ad una mail in che modo le 
visualizzera' l'utente?
grazie mille

 arrivando ad una mail in che modo le visualizzera' l'utente?
"arrivando ad una mail"? in che senso?
non c'è nulla di magico: un form per l'invio di email è un normale form
che richiama uno script php che prende i dati immessi, li controlla, e
poi invia un'email con la funzione mail() - 
http://php.net/mail
.
Ciao
Maverick
-- 
«Che non siete più liberi di non avere una casa con letto per dormire.
 Lavorate voi - schiavi dei soldi - che non sentite la puzza della
 schiavitù!» (a Mario di Monte Mario, Roma) # 
http://libre.netsons.org/

 poi invia un'email con la funzione mail() - 
http://php.net/mail
.
grazie... dato che mi hai gentilmente risposto...approfitto ancora un 
po' di te :)
il problema non e' ,chiaramente, il form html  , ma il controllo sui 
campi e sui dati, c'e' qualche script sul quale posso basarmi ?
e' un form semplicissimo controllare solo se i campi sono completi e le 
info correttamente inserite. :)
grazie mille

 campi e sui dati, c'e' qualche script sul quale posso basarmi ?
Be', i controlli dipendendono dal tipo di form, cioè dal tipo di dati
immessi. Se ti serve controllare se un codice fiscale corrisponde ai
dati, è una cosa. Se ti serve controllare che una CC sia valida, è
un'altra. E così via.
In generale, è meglio - anche per comodità dell'utente - fare dei
controlli preventivi in javascript, prima di fare il submit del form.
Se ad es. è un form per l'iscrizione al sito, puoi controllare che i
campi obbligatori non siano vuoti, che il codice fiscale corrisponda ai
dati immessi, che il nickname scelto non sia già occupato (questo lo fai
con una richiesta al server), e così via. Solo se vengono superati tutti
i controlli, puoi ad esempio attivare il tasto di submit del form.
Questo primo controllo fatto in javascript è facoltativo ed è, come
dicevo, più per comodità dell'utente (che non deve ogni volta fare il
submit della pagina) che per reale controllo. Infatti i controlli in
javascript, essendo lato client, possono essere facilmente aggirati.
Quindi devi poi rifare tutti i controlli sui dati immessi anche lato
server, con PHP. :P Guarda ad es. se quest'articolo può esserti utile:
http://www.pierobosio.info/informatica/php_controllo_dei_dati_provenienti_dai_form.php
Qui ci sono degli esempi per JS, ma se ne trovano tantissimi altri:
http://www.morpheusweb.it/html/scripts/javascript/javascript_form.asp
Ovviamente dovrai adattare gli script alle tue esigenze.


 con una richiesta al server)
Quindi non ha senso farlo con js.
Io in linea di massma non apprezzo il controllo lato client proprio
perché .. non controlla nulla.

 perché .. non controlla nulla.
Beh, diciamo che senza si potrebbe vivere lo stesso, questo si.
Ma, come faceva notare il buon Maverick, è solo una comodità (per 
l'utente) e non una necessità.
Se il browser ha js attivato, e l'utente è "bravo buono e bello" :-) 
(diciamo anche l'80, 90% dei navigatori rientrano in questa fascia), il 
controllo js è anche utile, perché:
1) evita di bussare al server per farsi dire che i dati che ha immesso 
sono sbagliati
2) fa risparmiare qualche attimo al client, che anziché vedersi tutta 
la pagina ricaricata, può sapere imediatamente dove ha sbagliato. Se 
poi ci pensi, nel caso di password immesse nel form, insieme agli altri 
dati, quando si fa il submit e ci sono dati errati, ti viene restituita 
la pagina, ma ahimé la password la devi reinserire da capo (che noia 
soprattutto se sbagli più volte)
3) nel caso del controllo dell'esistenza del nick, o dell'estistenza 
dell'indirizzo email, si potrebbe anche pensare a un controllo tramite 
richiesta asincrona, più che ricaricare tutta la pagina.
4) ovviamente in tutti i casi il controllo sul server deve restare 
sempre.
Seil browser non ha js attivo, o l'utente lo disabilita, o non fa parte 
della schiera dei "bravi buoni e belli", allora giustamente il 
controllo js perde di senso.
Tu, basandoti _Giustamente_ su questa seconda categoria di persone, 
tagli la testa al toro e eviti del tutto i controlli js.
Ma IMO possono rivelarsi un ottimo aiuto per la maggior parte degli 
utenti. E sottolineo, come del resto aveva fatto Maverick, un *aiuto*, 
non una *sostituzione* come talvolta i novizi credono.
ps: se poi non erro, js inizialmente era stato proprio inventato per 
validare i form. :-)
--
rob4you

 
E' inutile anzi dannoso il calcolo del codice fiscale, 
ma il controllo formale[1] è una cosa IMHO che va fatta anche in
javascript perché per esempio molte persone fanno confusione con la O e
con lo 0
[1] Per controllo formale intendo la verifica effettuata sul 16°
carattere per vedere se gli altri 15 sono stati inseriti nel modo
corretto. Non da nessuna garanzia sull'esattezza del codice fiscale, ma
previene (a meno di sfiga colossale) la digitazione errata da parte
dell'utente

 E' inutile anzi dannoso il calcolo del codice fiscale, 
Anzi mi correggo prima che lo faccia qualcun altro :-D
si può anche calcolare il codice fiscale dai dati immessi dall'utente, ma
non deve essere bloccante se il controllo formale è corretto...
cioè se il controllo formale è corretto e il CF risulta sbagliato si
può avvertire l'utente dell'incongruenza e lasciargli la possibilità di
procedere lo stesso se effettivamente ha inserito il codice fiscale giusto
(quindi caso di amonimia o altre anomalie riscontrabili sui CF)

Maverick FC ha scritto:

grazie ancora per queste dritte... imparo sempre qualcosa di piu' , 
appena ho terminato mettero' il form online per un vostro giudizio :)
Cmq il form in questione deve essere davvero semplice, nome , cognome,
indirizzo email , e un commento .
nessuna iscrizione.
grazie a tutti

 perché .. non controlla nulla.
Il più grande difetto che ha è nel fornire agli sviluppatori un falso
senso di sicurezza, dato che quel che avviene lato client non si
conosce. Ho visto form con controlli disabilitati, essere attivati e
modificati lato client da me e conseguenti richieste al server elaborate
coi nuovi dati inseriti - indice di mancanza di controlli lato server.
Ciao.


 coi nuovi dati inseriti - indice di mancanza di controlli lato server.
Io spesso cammino con js spento.

 (quindi caso di amonimia o altre anomalie riscontrabili sui CF)
Non è un'anomalia quella degli omocodi proprio perché è prevista dal 
procedimento di assegnazione dei codici. Semmai è sbagliata l'idea 
diffusa che un codice fiscale sia nella forma LLL LLL NNLNN LNNN L, dove 
L sta per lettera e N per numero.

 Maverick
Tra l'altro, domanda amletica, io non ho ancora capito una cosa: ma a 
che serve inserire il controllo sul codice fiscale in un ambito 
internet, dove appunto il "sito" non prende in mano la tessera 
magnetica?
Se un cliente vuole controlli sulla correttezza del codice fiscale, che 
siano sul client e/o sul server, credendo di raggiungere un livello di 
sicurezza maggiore, forse non sa che esistono decine di siti per 
ottenere un codice fiscale formalmente corretto, che quindi eluderebbe 
qualsiasi controllo.
Ma allora a che serve verificare così pedissequamente un codice fiscale 
in questo ambito?
A sto punto, meglio come fanno alcuni siti, che non sono così "fiscali" 
:-) e magari te lo calcolano automaticamente, e se vuoi te lo 
modifichi, ma ciò non prescinde la tua registrazione al sito.
--
rob4you

 modifichi, ma ciò non prescinde la tua registrazione al sito.
Be', se non si può esser certi del controllo, non si può neppure esser
certi del calcolo: però basta lasciare il campo editabile e anche i
pochi "omocodi" e le persone con CF provvisorio possono iscriversi.
Facendo la felicità di tutti, però anche di chi voleva iscriversi con
dati falsi epperò non sapeva che crearsi un CF era semplicissimo...
Ciao :-)
