webForumDet fria alternativet

Hämta info från databasen till bekräftelse mail?

ASP

13 svar · 293 visningar · startad av Catarina

Medlem sedan juli 200027 inlägg
Frågan#1

Om jag har gjort ett webformulär och vill att den i sitt bekräftelse mail hämtar information dels ifrån formuläret men också ifrån databasen. Jag vet hur man skriver när den ska hämta upp ifrån formuläret, men vad skriver jag när den ska gå in i databasen och hämta information?

Medlem sedan juni 2000373 inlägg
#2

Först måste du göra en databaskoppling.
Sedan får du hämta alla värdena.
Sedan får du stänga. Typ såhär:

<%
'--------------------------------------------------
' Öppna databasen
'--------------------------------------------------
password = "xxx"
databas = "xxx.mdb"
DBPath = Server.Mappath(mid(Request.ServerVariables("PATH_INFO"),1,instrrev(Request.ServerVariables("PATH_INFO"), "\")) & databas)
Set MinCon=Server.CreateObject("ADODB.Connection")
MinCon.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & DBPath & ";uid=;pwd=" & password & ";"
Set databas = Server.CreateObject("ADODB.Recordset")

SQL = "Select * Frpm Tabell"
databas.Open SQL, MinCon, 1, 2

Varde1 = databas("Kolumn1")
Varde3 = databas("Kolumn4")
Varde4 = databas("Kolumn3")
Osv

databas.Close
%>

Varde1 = <%=Varde1%>
Varde2 = <%=Varde2%>
Varde3 = <%=Varde3%>

Varde5 = <%=Request.Form("5")%>
Varde6 = <%=Request.Form("6")%>
Varde7 = <%=Request.Form("7")%>

Hoppas det var så du menade...

------------------
Hälsningar Ricki
www.ricki.nu

[Redigerat av Ricki den 01 aug 2000]

Medlem sedan juli 200027 inlägg
#3

Japp, jag tror det är så jag menar.
Men jag förstår inte riktigt det här med passwordet.

password = "xxx"

Vad är det för password?

Skriver jag någonstans vilken katalog i databasen, jag hämtar infon i från?

Tack, Ricki, för hjälpen!

Medlem sedan juli 200027 inlägg
#4

Nu har jag prövat det men då funkade inte riktigt den säger se så här:

Microsoft VBScript compilation error '800a03ea' 

Syntax error 

/shop/bekraftelse.asp, line 40 

DBPath = Server.Mappath(mid(Request.ServerVariables("PATH_INFO"),1,instrrev(Request.ServerVariables("PATH_INFO"),
-----------------------------------------------------------------------------------------------------------------^

Skulle jag inte skriva så här:

DBPath = Server.Mappath(mid(Request.ServerVariables("PATH_INFO"),1,instrrev(Request.ServerVariables("PATH_INFO"),
"\")) & databas)

Eller ska jag ändra om där det står PATH_INFO?

Hoppas du inte tycker att detta är alltför rörigt...

Medlem sedan juni 2000373 inlägg
#5

Jo lite rörrigt är det,
Du ska använda scriptet du fick av mig i början.

password = "xxx" Används för att skydda dina Access databaser, men har du inget lösenord skriver du bara
password=""

namnet på databasen skriver du in databas="xxx.mdb"

Fattar du nu?

------------------
Hälsningar Ricki
www.ricki.nu

Medlem sedan juli 200027 inlägg
#6

Ok, då förstår jag password delen men jag får fortfarande fel meddelandet:

Microsoft VBScript compilation error '800a03ea' 

                        Syntax error 

                        /shop/bekraftelse.asp, line 40 

                        DBPath = Server.Mappath(mid(Request.ServerVariables("PATH_INFO"),1,instrrev(Request.ServerVariables("PATH_INFO"),
                        -------------------------------------------------------------------------------------------------------------------------------^

Har du någon aning om vad det kan vara?

Tack igen!

Medlem sedan juni 2000373 inlägg
#7

Du har vell inte gjort radbrytning?
Allt detta måste stå på en och samma rad...

DBPath = Server.Mappath(mid(Request.ServerVariables("PATH_INFO"),1,instrrev(Request.ServerVariables("PATH_INFO"), "\")) & databas)

:)

------------------
Hälsningar Ricki
www.ricki.nu

Medlem sedan dec. 19996 721 inlägg
#8

Skriv in sökvägen till databasen direkt, utan att strula så enormt med PATH_INFO. Jag förstår inte meningen med det.

DBPath = Server.Mappath("den virtuella sökvägen från webbroten")

eller

DBPath="den riktiga sökvägen..."

Medlem sedan juli 200027 inlägg
#9

Ok, hoppas ni inte tycker jag är allt för dum nu men jag behöver lite fler svar. Och jag erkänner det där med radbrytningen. ;)

Nu får jag fel meddelande:

Microsoft OLE DB Provider for ODBC Drivers error '80004005' 

[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified 

/shop/bekraftelse.asp, line 44

Och min rad 44 är:

MinCon.Open "Driver={Microsoft Access Driver (data/shop.mdb)}; DBQ=" & DBPath & ";uid=;pwd=" & password & ";"

Hur går jag vidare?

Jag är jättetacksam för all hjälp!

Medlem sedan juni 2000373 inlägg
#10

Har du glömt?
password = "xxx"
databas = "xxx.mdb"

Om du postade koden här skulle det var lättare att hjälpa till?

------------------
Hälsningar Ricki
www.ricki.nu

Medlem sedan juli 200027 inlägg
#11

Nepp, har skrivit det där.
Men så här ser kod biten ut:

<%
'--------------------------------------------------
' Öppna databasen
'--------------------------------------------------
password = ""
databas = "data/shop.mdb"
DBPath = Server.Mappath("data.shop.mbd")
Set MinCon=Server.CreateObject("ADODB.Connection")
MinCon.Open "Driver={Microsoft Access Driver (data/shop.mdb)}; DBQ=" & DBPath & ";uid=;pwd=" & password & ";"
Set databas = Server.CreateObject("ADODB.Recordset")

SQL = "Select * Frpm Tabell"
databas.Open SQL, MinCon, 1, 2

Varde1 = databas("Produkt")
Varde3 = databas("Antal")
Varde4 = databas("Pris")

databas.Close
%>

Säker på att jag har glömt att skriva något.

Och medans jag frågar dumma frågor, vart ska jag lägga in dessa saker?
Varde1 = <%=Varde1%>osv[/red)

Den måste jag väl lägga in i själva "kroppen" för bekräftelse mailet?

Medlem sedan juni 2000373 inlägg
#12

Värdena vet inte jag hur du ska göra med. Det är ju bara du som har sidan.

Ligger databasen i samma map som filen du skriver aspkoden i ?

Du kan inte skriva in slash(/) i databas="". Databasen måste ligga i samma map om man ska kunna använda den där sökvägen...

------------------
Hälsningar Ricki
www.ricki.nu

Medlem sedan juli 200027 inlägg
#13

Så jag måste alltså lägga de i samma katalog? Nu ligger dom i varsin. Finns det något annat sätt jag kan skriva så jag slipper flytta på dem?

Tack för ditt tålamod! :)

Medlem sedan juni 2000373 inlägg
#14

Nja, det går, med det är mer avancerat.
Om du skriver var databasen ligger och var filen ligger så kan jag fixa det åt dej.

Ex:

Root Katalog
  Min hemsida
    Min fil.asp
    databas
      databas.mdb

------------------
Hälsningar Ricki
www.ricki.nu

550 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
415 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)