utentionline
add to delicious

searchengine
Inserisci i termini di ricerca
NewsLetter
Hai poco tempo? C'e' un modo velocissimo per rimanere sempre aggiornato con nuovi articoli e tutorial, nuovi corsi in partenza, approfondimenti e link utili e tanto altro ancora...
nome
email
quicklinks
Web Directory
WebDesigner
Tutorials Flash Mx
Tutorials ASP
Tutorials XHTML
Tutorials Javascript
Tutorials HTML-CSS
Tutorials SQL
Tutorials PHP & MySQL
AJAX applicazioni web
Web Marketing
Web Development
Template & Layout
Non solo Web :: Blog
Portfolio Lavori
Who is Yappy?
Benvenuto nella Newsletter
libririviste
Calendario motoGP 2007
newscorsi
FAQ & Domande
newscorsi
Web Designer gratuito
Corso Web Designer Gratuito per creare siti internet trucchi, consigli, esempi pratici e template per diventare un vero web designer.


Seo Extreme 2007
Al corso nazionale "Seo Extreme 2007" troverai le ultime tecniche e strategie di Posizionamento nei motori di ricerca. Parteciperai ad un corso di alto livello dedicato a chi vuole fare posizionamento...

Leggi tutti...
libririviste
Web Design Facile
"Web Design Facile" di Davide Vasta è una guida pratica che conduce il lettore, passo per passo attraverso la realizzazione di un sito Internet: dalla creazione di un prototipo da mostrare al cliente fino al suo sviluppo definitivo.

WebDesigner 22
Web Designer Magazine n.22. Flash in prima linea, conoscere l'ultima versione del programma Macromedia. Inserire video Flash nelle vostre pagine. In primo piano "diventare Designer di successo".

Leggi tutti...
Web Marketing
Trucchi headlines efficaci 8
 

Trucchi headlines efficaci 7
 

Leggi tutti...
tagclouds
PCB Proto online news 7 26.02.2006 JPEG - MPEG - MP3 il nuovo libro di Fabio volo Yes Man - Danny Wallace Colori Websafe Posizionamento nei Motori Latitudine e Longitudine Web Marketing Watch 09/2007 GP del Mugello 2006 Macromedia Studio 8 Trucchi headlines efficaci 6 Yes Man - Danny Wallace ASP vs PHP (FormMail) Controllo di un FORM in ASP
syndicate
RSS 2.0
Atom feed

 

CreativeCommons
Licenza Creative Commons
Questo/a opera e' pubblicata sotto una Licenza Creative Commons.

 

Controllo di un FORM in ASP

[16 Giu  2004]
Onde evitare spiacevoli errori durante la memorizzazione di dati all'interno di un database collegati a campi vuoti, o a campi numerici occorre controllarne sistematicamente il contenuto in modo da avvertire l'utente ed evitare errori fastidiosi.

Onde evitare spiacevoli errori durante la memorizzazione di dati all'interno di un database collegati a campi vuoti, o a campi numerici occorre controllarne sistematicamente il contenuto in modo da avvertire l'utente e permettergli di completare la digitazione.

Come per tutti i problemi in ASP, l'operazione più delicata di tutto il procedimento è proprio la definizione del database database.mdb e delle tabelle/campi necessari allo scopo.

La prima tabella "clienti" permette di monitorare l'utente e le caratteristiche del suo PC attraverso le variabili di sistema:

Campo Descrizione Note
id_cliente contatore Chiave primaria
cognome testo campo obligatorio
nome testo campo obligatorio
ditta testo campo facoltativo, permetti lunghezza nulla
indirizzo testo campo obligatorio
cap testo campo obligatorio
provincia testo campo obligatorio
telefono testo campo obligatorio
fax testo campo facoltativo, permetti lunghezza nulla
partitaiva testo campo facoltativo, permetti lunghezza nulla
codicefiscale testo campo facoltativo, permetti lunghezza nulla
email testo campo obligatorio
internet testo campo facoltativo, permetti lunghezza nulla
chiave testo campo obligatorio
quesito testo campo obligatorio
risposta testo campo obligatorio
pagamento testo campo obligatorio

Lo scopo di questa tabella è quello di memorizzare tutte le informazioni necessarie di un cliente per un sito di e-commerce.

La pagina modulo.asp è stata studiata per contenere sia il modulo che il controllo del suo contenuto ed in ultima istanza della memorizzazione dei dati richiesti se questi verificano le condizioni imposte.

Per la realizzazione del documento modulo.asp abbiamo utilizzato una programmazione con lo stile ad oggetti, definendo prima di tutto le funzionalità? base per poi analizzarle singolarmente.



            

Modulo per la richiesta dati

Sicurezza

E-mail (ID) *
Password *
Verifica Password *
Quesito personale
Risposta

Dati azienda/personali

Ditta
Cognome *
Nome *
* Partita IVA
* Codice Fiscale
* Indirizzo
* CAP
* Città?
* Provincia (sigla)
* Telefono
Fax
Sito internet

Modalita di pagamento







Quindi l'invio dei dati avviene allo stesso documento modulo.asp



assieme al campo nascosto tipo.

Dopo aver visto la subroutine che si occupa della visualizzazione del form vediamo la subroutine richiedi_dati che si occupa appunto di di estrarre le informazioni dal database.

  Sub richiedi_dati    email=request("email")    chiave=request("chiave")    chiavebis=request("chiavebis")    quesito=request("quesito")    risposta=request("risposta")    nome=request("nome")    cognome=request("cognome")    ditta=request("ditta")    partitaiva=request("partitaiva")    codicefiscale=request("codicefiscale")    indirizzo=request("indirizzo")    cap=request("cap")    citta=request("citta")    provincia=request("provincia")    telefono=request("telefono")    fax=request("fax")    internet=request("internet")    modalita=request("modalita")    End sub


Quindi il cuore vero e proprio della validazione:

  Sub controlla_modulo    avviso=""    if email="" or instr(email,"@")=0 then      avviso="email non inserite o non valida!
" end if if chiave<>chiavebis or chiave="" or chiavebis="" then avviso=avviso & "password non inserite o errate!
" end if if quesito="" or risposta="" then avviso=avviso &"rispondi alla domanda per ricevere la password
" end if if nome="" or cognome="" or indirizzo="" then avviso=avviso &"completare i dati personali
" end if if cap="" or citta="" or provincia="" then avviso=avviso &"completare i dati personali
" end if if telefono="" then avviso=avviso &"manca il numero di telefono
" end if if modalita="" then avviso=avviso &"scegli la modalità? di pagamento!
" end if if ditta<>"" and partitaiva="" then avviso=avviso & "manca la partita iva dell'Azienda
" end if if codicefiscale="" and partitaiva="" then avviso=avviso & "inserisci il codice fiscale o la partita iva
" end if


Per ogni elemento del modulo si provvede a fare un controllo se non è vuoto e se è corretto, come nell'esempio della posta elettronica.

I dati facoltativi come: fax ed internet non vengono controllati.

La variabile avviso all'inizio è vuota. Se qualche controllo non risulta verificato, la variabile avviso verrà? riempita con un messaggio.

 if avviso="" then      call inserisci_cliente()    else      call modulo_cliente()    end if   End sub


Il controllo finale avviene proprio sulla variabile avviso che se è vuota attiva la subroutine inserisci_cliente() altrimenti ri-visualizza i dati all'interno del modulo (call modulo_cliente()).

Il controllo finale avviene proprio sulla variabile avviso che se è vuota attiva la subroutine inserisci_cliente() altrimenti ri-visualizza i dati all'interno del modulo (call modulo_cliente()), vediamome le caratteristiche:

  Sub inserisci_cliente()    dim DBase 'nome del database da aprire e percorso    DBase=server.mapPath("database.mdb")    dim Conn 'tipo di connessione    Set Conn=Server.Createobject("ADODB.Connection")      dim DSNtemp 'apre la connessione con un database di tipo Access    DSNtemp="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & DBase    Conn.Open DSNtemp       SQLstmt= "INSERT INTO clienti (email,chiave,quesito,risposta,ditta,cognome,nome,partitaiva,codicefiscale,indirizzo,cap,citta,provincia,telefono,fax,internet)"    SQLstmt= SQLstmt & " VALUES ("    SQLstmt= SQLstmt & "'" & email & "',"    SQLstmt= SQLstmt & "'" & chiave & "',"    SQLstmt= SQLstmt & "'" & quesito & "',"    SQLstmt= SQLstmt & "'" & risposta & "',"    SQLstmt= SQLstmt & "'" & ditta & "',"    SQLstmt= SQLstmt & "'" & cognome & "',"    SQLstmt= SQLstmt & "'" & nome & "',"    SQLstmt= SQLstmt & "'" & partitaiva & "',"    SQLstmt= SQLstmt & "'" & codicefiscale & "',"    SQLstmt= SQLstmt & "'" & indirizzo & "',"    SQLstmt= SQLstmt & "'" & cap & "',"    SQLstmt= SQLstmt & "'" & citta & "',"    SQLstmt= SQLstmt & "'" & provincia & "',"    SQLstmt= SQLstmt & "'" & telefono & "',"    SQLstmt= SQLstmt & "'" & fax & "',"    SQLstmt= SQLstmt & "'" & internet & "')"    set rs= conn.execute(SQLstmt)        Conn.close    set Rs= nothing    set Conn= nothing    response.write "Inserimento completato correttamente"  End Sub  %>


Si tratta difatti della classica operazione di apertura e di inserimento dei dati nel database.

 
extralink
yappy.it © 2003/2004/2005/2006/2007 Fight Spam! Click Here!
Valid css2 & xhtml 1.0 - powered by dotflorence.com