Behöver någons rödpenna :)
Är jag på rätt väg med nedanstående kod om jag vill ha besökarens uppgifter inskrivna i min databas?
<html>
<head><title>Indexsidan</title></head>
<body>
<%
Dim datum, ip, browser
datum = Date
ip = Request.ServerVariables("REMOTE_ADDR")
browser = Request.ServerVariables("HTTP_USER_AGENT")
%>
<form>
<tr>
<td><input type="hidden" name="datum" value="<%=datum%>"></td>
<td><input type="hidden" name="ip" value="<%=ip%>"></td>
<td><input type="hidden" name="browser" value="<%=browser%>"></td>
</tr>
</form>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\inetpub\wwwroot\statestikdb.mdb"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM statestik"
RecSet.Open Addera, Connect
RecSet.AddNew
RecSet("Datum") = Request.Form("datum")
RecSet("IP-nummer") = Request.Form("ip")
RecSet("Browser") = Request.Form("browser")
RecSet.Update
RecSet.Close
Connect.Close
%>
</body>
</html>
När jag kör sidan på PWS så får jag felmeddelandet:
ADODB.Recordset fel '800a0cb3'
Åtgärden som programmet begärt stöds inte av leverantören.
/index.asp, rad 37
/webb
bohlinMedlem sedan mars 2000263 inlägg varför har du med:
<form>
<tr>
<td><input type="hidden" name="datum" value="<%=datum%>"></td>
<td><input type="hidden" name="ip" value="<%=ip%>"></td>
<td><input type="hidden" name="browser" value="<%=browser%>"></td>
</tr>
</form>
det fyller ju ingen funktion?
------------------
/bohlin
AGMedlem sedan mars 20001 266 inlägg Kom bara och tänka på en sak snabbt, borde det inte vara två parenteser efter date?
alltså
datum = Date()
Skall nog vara så.
Andreas
emissionMedlem sedan dec. 19996 721 inlägg Gör om med en SQL-INSERT i stället för addnew. Det är ett otyg! ;)
------------------
Gunnar Liljas - webbutvecklare
Leon Reklambyrå AB
VideMedlem sedan dec. 19998 577 inlägg ... och färdigt skulle detta kunna se ut såhär:
<html>
<head><title>Indexsidan</title></head>
<body>
<%
Dim datum, ip, browser
datum = Date
ip = Request.ServerVariables("REMOTE_ADDR")
browser = Request.ServerVariables("HTTP_USER_AGENT")
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\inetpub\wwwroot\statestikdb.mdb"
SQL = "Insert INTO statestik "
SQL = SQL & "(datum, IP-nummer, browser) "
SQL = SQL & "VALUES('" & Request.Form("datum") & "', '" & Request.Form("ip") & "', '" & Request.Form("browser")& "')"
Connect.execute(SQL)
%>
</body>
</html>
Andreas, Date() behöver inte ha paranteser...
Annars så ser det bra ut... :)
------------------
Vides motto: Ju fler saker man tycker är roligt, desto roligare har man
www.webeye.nu
emissionMedlem sedan dec. 19996 721 inlägg Förutom att statistik är felstavat.... ;) :e
------------------
Gunnar Liljas - webbutvecklare
Leon Reklambyrå AB
Vide,
Nu har jag ett annat felmeddelande :(
[Microsoft][Drivrutin för ODBC Microsoft Access 97] Syntaxfel i INSERT INTO-uttryck.
Om inget är felskrivet i din kod så har jag alltså ett fel på något annat ställe - har du någon kvalificerad gissning isåfall?
emission,
Dylika felstavningar görs för att se om man kan locka fram dig ;)
/webb
VideMedlem sedan dec. 19998 577 inlägg Testa att skriva ut SQL satsen för du exekverar den:
Response.write SQL
------------------
Vides motto: Ju fler saker man tycker är roligt, desto roligare har man
www.webeye.nu
Jag har testat att byta ut
Connect.execute(SQL)
mot
Response.write SQL
svaret blev:
Insert INTO statestik (Datum, IP-nummer, Browser) VALUES('', '', '')
Det är kanske på sin plats att berätta att jag endast kan testa sidan en gång, sedan åker jag på att starta om datorn. Det kanske beror på att jag sitter och leker på en gammal P100 iof ;)
/webb
ZaphodMedlem sedan maj 2000107 inlägg Zaphod rycker ut igen ;)
Vide har nog missat lite där i koden.
Han frågar efter några variabler som ska skickas med ett form (request.form). Men några sådana skickas ju inte, eftersom det är indexsidan vi håller på med. Eller hur?
Det var ju "liksom" det som denna koden var till för.
Dim datum, ip, browser
datum = Date
ip = Request.ServerVariables("REMOTE_ADDR")
browser = Request.ServerVariables("HTTP_USER_AGENT")
Det här är min lösning:
<html>
<head><title>Indexsidan</title></head>
<body>
<%
Dim cn,SQL
SQL = "Insert INTO statistik (Datum, IP-nummer, Browser) VALUES('"&now()&"', '"&Request.ServerVariables("REMOTE_ADDR")
&"', '"&Request.ServerVariables("HTTP_USER_AGENT")&"')"
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\inetpub\wwwroot\statestikdb.mdb"
cn.Execute(SQL)
%>
</body>
</html>
Kolla stavningen på statistik också. Vet inte ifall felstavningen var medveten från ditt håll ;)
------------------
/Magnus aka Zaphod
www.designmodule.com.bi
Zaphod,
Det blir tyvärr samma svar när jag använder din kod dvs.
Microsoft OLE DB Provider for ODBC Drivers fel '80040e14'
[Microsoft][Drivrutin för ODBC Microsoft Access 97] Syntaxfel i INSERT INTO-uttryck.
/statestik/index.asp, rad 10
Vilken mara det här blev då :( Tack för den tid ni lägger ner :)
/webb
ZaphodMedlem sedan maj 2000107 inlägg Det var konstigt. Har du sett till att SQL variabeln var på en och samma rad?
Det verkar som ett radbyte har smygit sig in i koden där (den här rutan man skriver i är ju så jävla liten)
Allt i SQL variabeln ska vara på en och samma linje iallfall.
------------------
/Magnus aka Zaphod
www.designmodule.com.bi
Nja, det fanns ett mellanslag men det uppmärksammade jag och fixade till.
/webb