il codice della pagina del pagamento è il seguente
codice:
<%
Dim original
original = SetLocale(1040)
set carrello=session("carrello")
codici=join(carrello.keys,",")
'se si sono loggati controllo se i dati esistono
if request("login")<>"" or request("password")<>"" then
sql="select * from utenti where login='"&request("login")&"' and password='"&request("password")&"'"
set rs_utente=conn.execute (sql)
if rs_utente.EOF and rs_utente.BOF then
response.redirect "pagamento.asp?errato=yes"
else
'se non c'è il cookies e si è loggato registro il cookies
if request.cookies("soloaffari")("login")="" and request.cookies("soloaffari")("password")="" then
Response.Cookies("soloaffari")("login") = request("login")
Response.Cookies("soloaffari")("password") = request("password")
Response.Cookies("soloaffari").expires=date()+1000
end if
end if
end if
'memorizzo dati utente
if request("az")="Conferma ordine" then
set rs_ord=Server.CreateObject ("ADODB.Recordset")
sql="select * from ordini"
rs_ord.Open sql,conn,1,2
rs_ord.AddNew
if request("login")<>"" and request("password")<>"" then
rs_ord("id_utente")=rs_utente("id")
rs_ord("stato_ordine")="ricevuto"
rs_ord("data")=date()
rs_ord("cognome")=rs_utente("cognome")
rs_ord("nome")=rs_utente("nome")
rs_ord("indirizzo")=rs_utente("indirizzo")
rs_ord("civico")=rs_utente("civico")
rs_ord("cap")=rs_utente("cap")
rs_ord("citta")=rs_utente("citta")
rs_ord("provincia")=rs_utente("provincia")
rs_ord("email")=rs_utente("email")
email=rs_utente("email")
rs_ord("telefono")=rs_utente("telefono")
rs_ord("note")=request("note")
rs_ord("spedizione")=request("spedizione")
rs_ord("tot")=request("prezzo")+request("totale")
dati_ordine=rs_utente("cognome")&" "&rs_utente("nome")&"
"&rs_utente("indirizzo")&" "&rs_utente("civico")&"
"&rs_utente("cap")&" "&rs_utente("citta")&" ("&rs_utente("provincia")&")
"
dati_ordine=dati_ordine&""&rs_utente("email")&" Tel. "&rs_utente("telefono")&"
Note: "&request("note")
else
rs_ord("data")=date()
rs_ord("cognome")=request("cognome")
rs_ord("nome")=request("nome")
rs_ord("indirizzo")=request("indirizzo")
rs_ord("civico")=request("civico")
rs_ord("cap")=request("cap")
rs_ord("citta")=request("citta")
rs_ord("provincia")=request("provincia")
rs_ord("email")=request("email")
email=request("email")
rs_ord("telefono")=request("telefono")
rs_ord("note")=request("note")
rs_ord("spedizione")=request("spedizione")
rs_ord("tot")=request("spedizione")+request("totale")
dati_ordine=request("cognome")&request("nome")&"
"&request("indirizzo")&" "&request("civico")&"
"&request("cap")&" "&request("citta")&" ("&request("provincia")&")
"
dati_ordine=dati_ordine&""&request("email")&" Tel. "&request("telefono")&"
Note: "&request("note")&"
Spedizione selezionata: "&request("spedizione")&"
Totale spese: "&request("tot")
end if
rs_ord.update
rs_ord.close
sql="select max(id) as num_ord from ordini"
set rs_ord=conn.execute(sql)
num_ordine=rs_ord("num_ord")
rs_ord.close
'memorizzo prodotti acquistati
quantita = request("qta")
Set rsArt = Server.CreateObject("ADODB.RecordSet")
RsArt.open "select * from prodotti where id in(" & codici & ")",conn
dati_prodotti=""
while not rsArt.eof
set rs_ord=Server.CreateObject ("ADODB.Recordset")
sql="select * from dettaglio_ordini"
rs_ord.Open sql,conn,1,2
rs_ord.addnew
qta=carrello(cstr(rsArt("id"))) 'prendo la quantita dall'array DO
rs_ord("id_ordine")=num_ordine
rs_ord("nome_prodotto")=rsArt("titolo")
rs_ord("localizzazione")=rsArt("localizzazione")
rs_ord("tipologia")=rsArt("listino")
rs_ord("quantita")=qta
rs_ord("prezzo")=RsArt("prezzo")*qta
dati_prodotti=dati_prodotti&"
N.: "&qta&" - "&rsArt("localizzazione")&" "&rsArt("titolo")&" ("&rsArt("listino")&") - Prezzo: "&RsArt("prezzo")*qta
rs_ord.update
rs_ord.close
rsArt.Movenext
wend
RsArt.Close
Set RsArt=nothing
'--------------------------------------------------------
'aggiorno la giacenza
Set rsGiacenza = Server.CreateObject("ADODB.RecordSet")
rsGiacenza.open "select * from prodotti where id in(" & codici & ")",conn
while not rsGiacenza.eof
set rs_ord=Server.CreateObject ("ADODB.Recordset")
SQL = " UPDATE prodotti SET Giacenza = Giacenza - " & qta & " WHERE (ID in(" & codici & ")) AND (giacenza_infinita = False) "
rs_ord.Open sql,conn,1,2
rsGiacenza.Movenext
wend
rsGiacenza.Close
Set rsGiacenza=nothing
'-------------------------------------------------------
select case request("spedizione")
case "Corriere":
totale=spedizione
case "Raccomandata":
totale=spedizione
case "ESTERO Corriere":
totale=spedizione
end select
'spedizione=Clng(request("totale"))
totale=request("spedizione")
AMOUNT=replace(totale,",",".")
if request("pagamento")="credito" then
response.redirect "banca.asp?id="&num_ordine&"&totale="&AMOUNT
else
response.redirect "ordine_eseguito.asp"
end if
end if
%>