10. november 2000 - 14:46Der er
16 kommentarer og 1 løsning
Sende post fra database
Til eksperterne
Jeg har lavet en lille e-handels løsning. Det fungere meget godt, der er bare lige det, at når brugern laver en bestilling, ender den i en database, men det er jo ikke så smart, for så skal jeg jo hele tiden kigge i den database for at se om der ligger nye ordre.
du kan også bare enten lave en popup eller sende en mail til dig selv - i.f.m. den kode der håndterer ordreindlæggelsen. Eller hvis ingen kode... lav et \'on timer\' event der checker for nye ordrer.
Ok din ide syndes jeg er en god ide. Derfor har jeg nu installeret Jmail. Nu skal jeg bare vide, hvor skal jeg sætte det stykke kode ind du har postet her ?
Du kan sætte det ind umiddelbart efter du har opdateret din db. Nu ved jeg jo ikke lige hvordan dit script ser ud, men sæt en variabel, f.eks. \'bestilling\' = ok hvis ordren går fejlfri igennem og put det ind efterfølgende på siden...
If Session(\"customerid\") = \"\" Then Response.Redirect \"error.asp?error=\" & Server.URLEncode (\"Jeg fandt desværre ikke dine informationer, udfyld venligst de nødvendige informationer.\") End If
Dim rs Set rs = Server.CreateObject (\"ADODB.Recordset\") rs.Open \"customers\", dbc, adOpenForwardOnly, adLockReadOnly, adCmdTable rs.Filter = \"custID = \" & CInt(Session(\"customerid\")) If rs.EOF then Response.Redirect \"customer.asp?error=\" & Server.URLEncode(\"Jeg fandt desværre ikke nogle informationer om dig.\") End If msg = Request.QueryString (\"msg\") %> <% \'prevent browsers from caching page Response.Expires = 0 %> <html> <head> <meta name=\"GENERATOR\" Content=\"Microsoft Visual Studio 6.0\"> <title>Gå til kassen</title> </head> <body bgcolor=\"#FFFFFF\" text=\"#000000\" alink=\"#003399\" link=\"#003399\" vlink=\"#003399\"> <basefont face=\"Verdana, arial, helvetica\"> <table border=\"0\" width=\"100%\" cellpadding=\"6\" cellspacing=\"1\"> <tr> <td> <form action=\"verify.asp\" method=\"POST\" id=\"form1\" name=\"form1\"> </tr> <table width=\"100%\">
<!-- #include file=\"db.inc\" --> <% For Each key in Request.Form strname = key strvalue = Request.Form(key) Session(strname) = strvalue Next
If Request.Form(\"cardaddress\") = \"\" OR len(Request.Form(\"cardaddress\")) <=8 Then Response.Redirect \"checkout.asp?msg=\" & Server.URLEncode (\"Skriv venligst en adresse som vi kan sende en kvittering til.\") Else
Dim arrCart, metacartItem arrCart = Session(\"MyCart\") metacartItem = Session(\"cartItem\")
Dim rsorder Set rsorder = Server.CreateObject (\"ADODB.recordset\") rsorder.Open \"orders\", dbc, adOpenKeyset, adLockPessimistic, adCmdTable rsorder.AddNew rsorder(\"ocustomerid\") = Session(\"customerid\") rsorder(\"odate\") = Date rsorder(\"orderamount\") = Request.Form(\"ordertotal\") rsorder(\"oshipmethod\") = CInt(Request.Form(\"shipment\")) rsorder(\"ocardtype\") = Request.Form(\"paymentm\") rsorder(\"ocardno\") = Request.Form(\"cardno\") rsorder(\"ocardname\") = Request.Form(\"cardname\") rsorder(\"ocardexpires\") = Request.Form(\"cardexpire\") rsorder(\"ocardaddress\") = Request.Form(\"cardaddress\") If Not Request.Form(\"shipaddress\")=\"\" then rsorder(\"oshipaddress\") = Request.Form(\"shipaddress\") End If If Not Request.Form(\"shiptown\")=\"\" then rsorder(\"oshiptown\") = Request.Form(\"shiptown\") End If If Not Request.Form(\"shipzip\")=\"\" then rsorder(\"oshipzip\") = Request.Form(\"shipzip\") End If If Not Request.Form(\"shipstate\")=\"\" then rsorder(\"oshipstate\") = Request.Form(\"shipstate\") End If If Not Request.Form(\"shipcountry\")=\"\" then rsorder(\"oshipcountry\") = Request.Form(\"shipcountry\") End If rsorder.Update rsorder.Close
Dim oid, sqlo sqlo = \"SELECT max(orderID) FROM orders\" Set rso = dbc.Execute(sqlo) oid = Cint(rso(0)) rso.Close
If oid < 1 Then Response.Redirect \"error.asp?msg=\" & Server.URLEncode (\"Error: No order id.\") Else Dim rsitem Set rsitem = Server.CreateObject (\"ADODB.recordset\") rsitem.Open \"oitems\", dbc, adOpenKeyset, adLockOptimistic , adcmdtable For i = 1 To metacartItem rsitem.AddNew rsitem(\"orderid\") = oid rsitem(\"catalogid\") = arrCart(cProductid,i) rsitem(\"numitems\") = arrCart(cQuantity,i) rsitem.Update Next rsitem.Close End if
If dbc.Errors.Count > 0 then dbc.Close set dbc = nothing Response.Redirect \"error.asp?msg=\" & Server.URLEncode (\"Did not succeed. Error: \") & dbc.Error.Description Else dbc.close set dbc = nothing Response.Redirect \"checkout1.asp\" End If End If %>
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.