0011000001110011111100000110101111101010111010000100001001000000110000110100001001001001110010100110100111100010111000010110100011101011110110000101001111011000110100110111001011111000111110110111101011110011010100100101000111011010010110010101100011011001011100000111001111110000011010111110101011101000010000100100000011000011010000100100100111
0010100110100111100010111000010110100011101011110110000101001111011000110100110111001011111000111110110111101011110011010100100101000111011010010110010101100011011001011100000111001111110000011010111110101011101000010000100100000011000011010000100100100111001010011010011110001011100001011010001110101111011000010100111101100011010011011100101111
1101101011100010110110100110101001110000010010001111100011000000111110000100000001010011011010110101001111100011110010111101001101100001010110010110000111110001111010010111000111001011011110110100001111011011111010001101000001100000010110000110000011101010110110101110001011011010011010100111000001001000111110001100000011111000010000000101001101
1010110101001111100011110010111101001101100001010110010110000111110001111010010111000111001011011110110100001111011011111010001101000001100000010110000110000011101010110110101110001011011010011010100111000001001000111110001100000011111000010000000101001101101011010100111110001111001011110100110110000101011001011000011111000111101001011100011100
1011011110110100001111011011111010001101000001100000010110000110000011101010110110101110001011011010011010100111000001001000111101110010111100100111001110011010110111010101101011010001000100000101001011111000111110100111110010111000111000100110000011000110000010000100101111000010010000010111001010111001011111100111100111011000010100100101000011
0100000101100011011100101110100111000001110010111100100111001110011010110111010101101011010001000100000101001011111000111110100111110010111000111000100110000011000110000010000100101111000010010000010111001010111001011111100111100111011000010100100101000011010000010110001101110010111010011100000111001011110010011100111001101011011101010110101101
0001000100000101001011111000111110100111110010111000111000100110000011000110000010000100101111000010010000010111001010111001011111100111100111011000010100100101000011010000010110001101110001101011001010101110010101000011010000011100101101000001010010011100101101100101001000101110000101101000111010111110100001000011110000001100001101000011000010
0111001111011010011111001101010001010100011101101101011001010111001001101111110000011000111110000001101011001010101110010101000011010000011100101101000001010010011100101101100101001000101110000101101000111010111110100001000011110000001100001101000011000010011100111101101001111100110101000101010001110110110101100101011100100110111111000001100011
1110000001101011001010101110010101000011010000011100101101000001010010011100101101100101001000101110000101101000111010111110100001000011110000001100001101000011000010011100111101101001111100110101000101010001110110110101100101011100100110111001010100110010101101000011111001111100101100100011011000010100100111101001110000011110100101000001000001
1101111011010000111101101111101011110101110110000100001001011000011110010111001001101000011100101001101010000001000100100011101000110000000011010101001001010100110010101101000011111001111100101100100011011000010100100111101001110000011110100101000001000001110111101101000011110110111110101111010111011000010000100101100001111001011100100110100001
1100101001101010000001000100100011101000110000000011010101001001010100110010101101000011111001111100101100100011011000010100100111101001110000011110100101110011000011110100111100100111000010010110000110000101101011010010010101000000001011101000111010100110100111011000000100110101010011010011010110001001100011111110011100000111001011110110001100
1001111010110110000101111010010000000100000101010111011000111110110011000011110100111100100111000010010110000110000101101011010010010101000000001011101000111010100110100111011000000100110101010011010011010110001001100011111110011100000111001011110110001100100111101011011000010111101001000000010000010101011101100011111011001100001111010011110010
0111000010010110000110000101101011010010010101000000001011101000111010010110100111001001010001110000000110000011010011111110110110101011001000011110011111100011011000010000111110001101010010111100000101000101000000111010100101101111011011011010100110100011011001011100001101001001000011111000011101000001111000111010010100101101011010011100100101
0001110000000110000011010011111110110110101011001000011110011111100011011000010000111110001101010010111100000101000101000000111010100101101111011011011010100110100011011001011100001101001001000011111000011101000001111000111010010100101101011010011100100101000111000000011000001101001111111011011010101100100001111001111110001101100001000011111000
1101010010111100000101000101000000111010100101101111011011011010100110100011011001011100001101001001000011111000011101000001111000111001001001010000110101100011001010111000111111100111110010110010001100100101010011011010110110000001110010010100110100000111001010110100001110101011101011111110011101100001000010011010110111100101110010011010000111
0010110110111100000111100010111110101111000101001001010000110101100011001010111000111111100111110010110010001100100101010011011010110110000001110010010100110100000111001010110100001110101011101011111110011101100001000010011010110111100101110010011010000111001011011011110000011110001011111010111100010100100101000011010110001100101011100011111110
0111110010110010001100100101010011011010110110000001110010010100110100000111001010110100001110101011101011111110011101100001000010011010110111100101110010011010000111001011011011110000011110001011111010111100010100100100001001000001011100101111100101110010011110011101100001010010010100011101000001011001111110001111101101110000111100111111001001
1100111101101011011001010110101100000101000000010000101110100111101010011010011110100011100011011000001100001101001000010010111100001001000001011100101111100101110010011110011101100001010010010100011101000001011001111110001111101101110000111100111111001001110011110110101101100101011010110000010100000001000010111010011110101001101001111010001110
0011011000001100001101001000010010111100001001000001011100101111100101110010011110011101100001010010010100011101000001011001111110001111101101110000111100111111001001110011110110101101100101011010110000010100000001000010111010011110101001101001111010001110001101100000110000110100100001001011110000100100000101110010111110010111001001111000101001
0000000111000001001000011100001100000011011010111000100101001001101010010100101110101011111001110000011111100101001001011000010111100111001011111100111100101101011011010000111101101101100001110100011110100101110001010000100111101011001010111100101100101001000000011100000100100001110000110000001101101011100010010100100110101001010010111010101111
1001110000011111100101001001011000010111100111001011111100111100101101011011010000111101101101100001110100011110100101110001010000100111101011001010111100101100101001000000011100000100100001110000110000001101101011100010010100100110101001010010111010101111100111000001111110010100100101100001011110011100101111110011110010110101101101000011110110
1101100001110100011110100101110001010000100111101011001010111100101100101001000000011100000100100001110000110000001101101011100010010100100110101001001101100100110000011101111111000001111011101110101111100001010010010100001101011000010010010010001100101001101100101000101110000101101000111010111101100000010011110101001101001101110010111110001111
1010011110101111001001110110000100001101101011011000010110001101100100110000011101111111000001111011101110101111100001010010010100001101011000010010010010001100101001101100101000101110000101101000111010111101100000010011110101001101001101110010111110001111101001111010111100100111011000010000110110101101100001011000110110010011000001110111111100
0001111011101110101111100001010010010100001101011000010010010010001100101001101100101000101110000101101000111010111101100000010011110101001101001101110010111110001111101001111010111100100111011000010000110110101101100001011000110110010011000001110111111100000111101110111010111110000101001001010000110101100001001001101001011011100110100111101001
1010001101100101110000110101100111111011111110110111000111110011111101100011000101011010110010010100101011000001100000010100111111101001011010110110000111101011111000110110000111001111100010000100101111000010010000010100001011101001011011100110100111101001101000110110010111000011010110011111101111111011011100011111001111110110001100010101101011
0010010100101011000001100000010100111111101001011010110110000111101011111000110110000111001111100010000100101111000010010000010100001011101001011011100110100111101001101000110110010111000011010110011111101111111011011100011111001111110110001100010101101011001001010010101100000110000001010011111110100101101011011000011110101111100011011000011100
1111100010000100101111000010010000010100001011101001011011100110100111101001101000110110010111000011010110011111101111111011011100011111001010111001111111100011111110011000000111101001010011010110000110001001110010111110001101000111011010110100001111101011101011011101000111101001011100010100000101111101110010111010001111001011010011110110001100
0010110110000011000000101011101110001001000010011010111001111111100011111110011000000111101001010011010110000110001001110010111110001101000111011010110100001111101011101011011101000111101001011100010100000101111101110010111010001111001011010011110110001100001011011000001100000010101110111000100100001001101011100111111110001111111001100000011110
1001010011010110000110001001110010111110001101000111011010110100001111101011101011011101000111101001011100010100000101111101110010111010001111001011010011110110001100001011011000001100000010101110111000100100001001101011100111111110001111111001100000011100100110001101000001110010111101000011101010111010111111110101001001010001100110100101111001
0110001101101001111100101100101111000001111000111111101010100001000010010000001100001101110010101110011111111001111001111100100011001001010100110110101101100001011100100110001101000001110010111101000011101010111010111111110101001001010001100110100101111001011000110110100111110010110010111100000111100011111110101010000100001001000000110000110111
0010101110011111111001111001111100100011001001010100110110101101100001011100100110001101000001110010111101000011101010111010111111110101001001010001100110100101111001011000110110100111110010110010111100000111100011111110101010000100001001000000110000110111001010111001111111100111100111110010001100100101010011011010110110000101110010011000110100
0001110010111101000011101010111010111111110101001001010001100001110000001100001001110011110110100111100011101001010010110111101011010010010000111110000111110000110110001111101101101010110010100111100101010001110000000110001011010011010100100111001011101001010010011111100001011010111110111110101001000000111100010111000111000000110000100111001111
0110100111100011101001010010110111101011010010010000111110000111110000110110001111101101101010110010100111100101010001110000000110001011010011010100100111001011101001010010011111100001011010111110111110101001000000111100010111000111000000110000100111001111011010011110001110100101001011011110101101001001000011111000011111000011011000111110110110
1010110010100111100101010001110000000110001011010011010100100111001011101001010010011111100001011010111110111110101001000000111100010111000111000000110000100111001111011010011110001110100101001011011110101101001001000011111111101001111100100110000001001001010100110101100001100010011000111111100111000001110010101101100011111001111010110110000001
1110100100000001000001010100110111001011101000110000011101001111011001110000101101100001110001011010110100100001010000010110111110001111101001111100100110000001001001010100110101100001100010011000111111100111000001110010101101100011111001111010110110000001111010010000000100000101010011011100101110100011000001110100111101100111000010110110000111
0001011010110100100001010000010110111110001111101001111100100110000001001001010100110101100001100010011000111111100111000001110010101101100011111001111010110110000001111010010000000100000101010011011100101110100011000001110100111101100111000010110110000111000101101011010010000101000001011011111000111110100111110010011000000100100101010011010110
0001100010011000111111100111101011110011010100100101000111011010010110010101100011011011011100000111001111110000011010111110101011101000010000110100000011000011010000100100100111001010011010011110001011100001011010001110101111011000010100111101100011010011011100101111100011111011011110101111001101010010010100011101101001011001010110001101101101
1100000111001111110000011010111110101011101000010000110100000011000011010000100100100111001010011010011110001011100001011010001110101111011000010100111101100011010011011100101111100011111011011110101111001101010010010100011101101001011001010110001101101101110000011100111111000001101011111010101110100001000011010000001100001101000010010010011100
1010011010011110001011100001011010001110101111011000010100111101100011010011011100101111100011111011011110101111001101010010010100011101101001011001000011111000010000010101001101101011010100111110001111001011110100110110000101011001011000011111000111101001011100011100101101111011010000111101101111101000110100000110000001011000011000001110101011
0110101110001011011010011010100111000001001000111110001100000011111000010000010101001101101011010100111110001111001011110100110110000101011001011000011111000111101001011100011100101101111011010000111101101111101000110100000110000001011000011000001110101011011010111000101101101001101010011100000100100011111000110000001111100001000001010100110110
1011010100111110001111001011110100110110000101011001011000011111000111101001011100011100101101111011010000111101101111101000110100000110000001011000011000001110101011011010111000101101101001101010011100000100100011111000110000001111100001000001010100110101010110101101000100010000010100101111100011111010011111001011100011100010011000001100011001
0010000100101111000010010000010111001010111001011111100111100111011000010100100101000011010000010110001101110010111010011100000111001111110010011100111001101011011101010110101101000100010000010100101111100011111010011111001011100011100010011000001100011001001000010010111100001001000001011100101011100101111110011110011101100001010010010100001101
0000010110001101110010111010011100000111001111110010011100111001101011011101010110101101000100010000010100101111100011111010011111001011100011100010011000001100011001001000010010111100001001000001011100101011100101111110011110011101100001010010010100001101000001011000110111001011101001110000011100111111001001110011100110101101110101011010110100
0100010000001000101110000101101000111010111110100001000011110001001100001101000011000010011100111101101001111100110101000100010001110110110101100101011100100110111110000001100011111000000110101100101011111001010100001111000001110010110100000101001001110010110110010100100010111000010110100011101011111010000100001111000100110000110100001100001001
1100111101101001111100110101000100010001110110110101100101011100100110111110000001100011111000000110101100101011111001010100001111000001110010110100000101001001110010110110010100100010111000010110100011101011111010000100001111000100110000110100001100001001110011110110100111110011010100010001000111011011010110010101110010011011111000000110001111
1000000110101100101011111001010100001111000001110010110100000101001001110010110110010100100010111000010110100011101011111010000111011000010000100101100001111001011100100110100001110010100110101000000100010010001110100011000001001101010100100101010011001010110100001111100111110010110010001101100001010010011110110111000001110010010100000100000111
0111101101000011110110111110101111010111011000010000100101100001111001011100100110100001110010100110101000000100010010001110100011000001001101010100100101010011001010110100001111100111110010110010001101100001010010011110110111000001110010010100000100000111011110110100001111011011111010111101011101100001000010010110000111100101110010011010000111
0010100110101000000100010010001110100011000001001101010100100101010011001010110100001111100111110010110010001101100001010010011110110111000001110010010100000100000111011110110100001111011011111010111101011101100001000010010110000111100101110011101010011010011101100000010011010101001101001101011000100110001111101001110000011100101111011000110010
0111101011011000010111101001000000010000010101011111100011111011001100001111010011110010011100001101011000011000010110101101001001000100000000101110100011101010011010011101100000010011010101001101001101011000100110001111101001110000011100101111011000110010011110101101100001011110100100000001000001010101111110001111101100110000111101001111001001
1100001101011000011000010110101101001001000100000000101110100011101010011010011101100000010011010101001101001101011000100110001111101001110000011100101111011000110010011110101101100001011110100100000001000001010101111110001111101100110000111101001111001001110000110101100001100001011010110100100100010000000010111010001110101001101001110110000001
0011010101001101001101011000100110011010101100101001111001111110001101100001000011111000110101001011110000010100010100000011101010010110111101101101101010011010001101100101110000110100100100001111100001110100000111100011101001010010110101101001110011010100011100000001100000110100111111101101101010110010100111100111111000110110000100001111100011
Ciao Bredok… questo tutorial è interamente dedicato a te, spero possa
esserti utile! Ho cercato di scrivenre quanto meno potevo per non farti la
testa quadrata e ho cercato di mettere il succo!! Buona lettura e segnalami eventuali
errori ;)
Dunque vediamo, iniziamo dapprima, definendo il database generico (che
chiameremo catalogo.mdb) su cui ci
baseremo per estrapolare le informazioni relative ai prodotti. Esso sarà più o
meno composto dalle seguenti relazioni (tabelle):
TblArticoli: contiene le
informazioni sui prodotti venduti nel sito |
TblOrdini: serve per
registrare le informazioni relative agli ordini effettuati |
TblRigheOrdini: registra le
informazioni relative ad ogni riga del carrello dell’ordine effettuato |
QryListino: serve per
estrarre dalla TblArticoli, solo le informazioni che ci servono per lavorare
con il carrello. Chiaramente questa query può essere omessa e può essere
usata direttamente la relazione TblArticoli, soprattutto nel caso che le
informazioni in questa relazione, sono poche |
La relazione TblArticoli è costituita di base dai seguenti campi:
Nome: nome del
prodotto |
|
Italiano: descrizione
del prodotto in italiano |
|
Francese: descrizione
del prodotto in italiano |
|
Inglese: descrizione
del prodotto in italiano |
|
Tedesco: descrizione
del prodotto in italiano |
|
Prezzo: prezzo del
prodotto |
|
Peso: peso del
prodotto |
|
IVA: iva o tasse
sul prodotto |
|
IDArticolo: codice del
prodotto |
Quella degli ordini (TblRigheOrdini) è invece costituita dai seguenti
campi:
IDOrdine: numero
dell’ordine |
Prezzo: prezzo
dell’ordine |
Quantita: insiemi dei
prodotti effettivamente acquistati |
IDArticolo:
identificativo dell’articolo dell’ordine |
|
La relazione TblOrdini è costituita dai seguenti
campi:
ID: identifica
l’ordine in modo univoco |
IDAnagrafe: identifica
il cliente in modo univoco. Questo ID può venire da una registrazione |
Data: è la data in
cui è stato effettuato l’ordine |
Infine la query qryListino è costituita dai campi
IDArticolo, Prezzo, Peso, Tasse e Italiano. Merita un commento il campo
relativo all’IDAnagrafe. Nel nostro caso supporremo che l’IDAnagrafe sia
generato previa la registrazione da parte della persona che intende acquistare
tramite il sito, in un apposito database, dove vengono registrati i dati
relativi ai suoi dati anagrafici e alla sua carta di credito ad esempio. Tale
registrazione può quindi essere rappresentata da un'altra tabella all’interno
del nostro database. Nell’esempio invece si suppone che IDAnagrafe sia un
numero eventualmente un cookies dato da qualche parte nel sito e registrato
nella varibile di sessione, Session(“vIDAnagrafe”)
Il metodo migliore per tenere traccia di ciò che un
utente fa all’interno del nostro sito, è dichiarare all’interno del Global.asa delle variabili di sessione,
che ci permettono di memorizzare, fino alla fine della sessione stessa (20
minuti) dati di ogni tipo. Nel nostro caso occorre tener traccia degli articoli
che il potenziale cliente decide di memorizzare per poi eventualmente
comprarli; quindi supponendo che il numero massimo di questi articoli sia
MAX_ARTICOLI e che per ogni articolo si possano vedere un numero di attributi
pari a INT_ATTRIBUTI , dichiareremo una matrice di dimensioni
(MAX_ARTICOLI,INT_ATTRIBUTI) come variabile di Sessione. La porzione del
global.asa su cui dobbiamo quindi lavorare, è la seguente:
<SCRIPT LANGUAGE=VBScript RUNAT=Server> SUB Session_OnStart 'Numero massimo di articoli memorizzabili const MAX_ARTICOLI = 15 'Numero di attributi visibili nell'ordine const intAttributi = 6 'stringa di connesione Session("Connection") = ""DRIVER=Microsoft Access
Driver (*.mdb); DBQ="&Server.MapPath("/urbani/cpe.mdb")" '
Crea il vettore contenente le righe dell' ordine
ReDim aryOrdine(intAttributi , MAX_ARTICOLI) Session("aryOrdine") = aryOrdine Session("intConta") = 0 Session(“vIDAnagrafe”)=70 END SUB </SCRIPT> |
Ovvero la Sub
Session_OnStart, dove oltre ai dati descritti dichiariamo anche altre due
variabili di Sessione: una relativa alla connessione al database che useremo (Session(“connection”))e
l’altra relativa al numero di articoli che useremo (Session(“IntConta”)).
Supponiamo ora di essere il cliente e di aver già
cliccato sul prodotto che ci interessa nella pagina prodotti.asp, che ci fa vedere appunto la lista dei beni
acquistabili. Ognuno di tali collegamenti sarà del tipo:
ordine.asp?ID=Codice_Prodotto
Tale indirizzo non fa altro che identificare
univocamente il prodotto stesso e richiamare il carrello della spesa che noi
abbiamo chiamato appunto, ordine.asp. La prima cosa da fare è
quindi recuperare l’informazione relativa al prodotto che chiameremo Articolo, poi definiamo sette costanti (da 1 a 7) che
ci permetteranno di meglio identificare le colonne del carrello. Infine
recuperiamo le variabili di sessione aperte nel global.asa. Ricapitolando ecco
di seguito le variabili e le costanti, che utilizziamo all’inizio del file ordine.asp:
Variabile o costante |
Descrizione |
Const MAX_ARTICOLI |
Indica il numero massino di articoli ordinabili |
Const COLONNA_BAFFO |
È la prima colonna della tabella che viene restituita
quando si visualizza il carrello |
Const COLONNA_CODICE |
È la seconda colonna che viene restituita quando
si visualizza il carrello e dove viene riportato il codice dell'’articolo
recuperato dalla querystring |
Const COLONNA_DESCRIZIONE |
È la terza colonna che viene restituita quando si
visualizza il carrello e dove viene riportata la descrizione del prodotto
acquistato |
Const COLONNA_QUANTITA |
È la quarta colonna che viene restituita quando si
visualizza il carrello e dove viene riportato il numero di pezzi che si vuole
acquistare di quel prodotto |
Const COLONNA_PREZZO |
È la quinta colonna che viene restituita quando
si visualizza il carrello e dove viene riportato il prezzo del prodotto che
si vuole acquistare. Se numero di pezzi del prodotto è maggiore di uno,
allora sarà riportato il prezzo moltiplicato il numero di pezzi che si vuole
acquistare |
Const COLONNA_PESO |
È la sesta colonna che viene restituita quando si
visualizza il carrello e dove viene riportato il peso del prodotto che si
vuole acquistare. Se il numero di pezzi del prodotto è maggiore di uno, allora sarà riportato il
peso moltiplicato il numero di pezzi che si vuole acquistare |
Const COLONNA_TASSE |
È la settima colonna che viene restituita quando
si visualizza il carrello e dove viene riportata la cifra relativa ad
eventuali tasse (in questo caso, l’IVA) che si associa al prodotto che si
vuole comprare |
Articolo |
In questa variabile, viene riportato il codice
dell’articolo che si sta aggiungendo al carrello. Tale codice viene preso
attraverso la querystring sull’indirizzo da cui proviene la richiesta |
IntConta |
Tale variabile viene inizializzata attravesro la varibile
di sessione Session(“IntNumeroArticoli”), e serve per tenere conto del numero
di articoli inseriti all’interno del carrello |
AryOrdine |
È la matrice dove si memorizzano tutti gli articoli
che sono finiti nel carrello. In pratica è il carrello stesso o meglio, la
lista della spesa. Ogni riga di questa matrice (che nel nostro caso è una
matrice 15 righe per 6 colonne)
rappresenta un prodotto e di esso ne memorizza le diverse caratteristiche. I
dati in questa fase iniziale, vengono recuperati dalla variabile di session,
Session(“AryOrdine”) che altri non è che la stessa matrice “aggiornata” con
tutti i movimenti dell’utente/cliente. Occorre questo trasferimento perché
non è possibile effettare operazioni sulla variabile Session(“AryOrdine”)
dato che in generale non è possibile effettuare operazioni su variabili
Session che sono matrici o vettori |
Dopo queste semplici operazioni, apriamo la connessione
con il database e per prima cosa creiamo la riga per il prodotto che si vuole
acquistare. Con i dati estrapolati dalla query, basterà poi compiere le diverse
operazioni che occorrono (calcolo del subtotale, dell’IVA e del peso del
prodotto). Note interessanti sono i campi di tipo form come quello che indica
il numero di pezzi che si vogliono acquistare oppure il check per confermare
l’acquisto. Queste e anche le altre colonne dell’ordine finale, fanno parte
appunto di un form, che ha come bottoni “submit” le diverse operazioni che
possiamo compiere sul nostro carrello, ovvero: la conferma dell’acquisto, la
cancellazione dell’acquisto ed infine il calcolo del totale del costo della
nostra “spesa virtuale”. Tutto le operazioni soprascritte, vengono gestite
grazie alla SELECT all’interno di ordine.asp.
Per terminare l’acquisto on-line, manca ora solo di
vedere dove mandare i dati calcolati nel carrello ed eventualmente registrare
l’ordine effettuato all’interno di TblOrdini.
Inoltre ti mando anche un esempio… questo è in Java
forse rispetto all’ASP può essere più facile!! Il codice è accessibile tramite
un qualsiasi editor di testo >>> PROVA L’ESEMPIO