Försöker spara ner user namnet i en IP logg, men hur jag än gör så vill den inte skriva user i DB. IP skriver den helt korrekt i DB. Om din logg tabell innehåller fälten ip och user fungerar det ju att skriva... Ungefär precis detta har jag försökt med men det vill sig inte. Det enda jag kan tänka mig är att friendlyname aldrig får ett värde och då blir tom samtidigt som att fältet user inte tar null värden eller att du har fel datatyp på fältet user i databasen. >Prova med att skriva ut värdet ur friendlyname innan du går in i INSERT satsen för att se om variabeln verkligen får sitt värde Prova detta och se om det blir någon skillnad. Nope, problemet är att den inte "tar" med sig värdet friendlyname. Mystiskt Jepp testat det också, alla värden försvinner. Det verkar vara något som tömmer dina variabler... knepigt Nej samma fel, "Syntaxfel i INSERT INTO-uttryck" >Kan du posta hela dokumentets kod? Jag skrev om lite i din kod, gjorde en databas och testade på min dator. OK det funkar för dig i en modiferad kod, jag har inte kunskaper än för att bygga om min. Även rädd för att om jag gör om för mycket så kommer resten av sidorna inte att funka. BARI... ha ha ha... det var inte långt bort. Tack gode gud (PETER)!! Om inte jag misstar mig är User ett reserverat ord.Spara IP & username i DB
User kommer via en cookie men det är kanske jag som tänker fel när jag försöker spara namnet ur en kaka.. Men jag tar ut username på detta sättet på många andra ställen och där funkar det .
<code>
<%username = request.cookies("passes")%>
<%admin = request.cookies("passes3")%>
<%friendlyname = request.cookies("passes2")%>
<%If request.cookies("passes") = "" then response.redirect ("login.asp")%>
<%Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/logg.mdb")
Ip = Request.Servervariables("REMOTE_ADDR")
Conn.Execute("Insert Into logg(ip) Values('"& ip &"')")
Conn.Close
Set Conn = Nothing%>
<%Else%>
<%End If%>
</code>
Ovanstående funkar klockrent, men om jag försöker spara även user så sparas inget.
Om jag bara testar med user (utan IP) går inte heller
Det jag har försökt med är detta.
<code>
Conn.Execute("Insert Into logg(user) Values('"& friendlyname &"')")
</code>
Hur skall jag göra för att skriva "friendlyname" & IP i DB??
(värsta rookie frågan så den åker i "nybörjar forumet" :-)Sv: Spara IP & username i DB
Conn.Execute("Insert Into logg(ip,user) Values('"& ip &"','"& friendlyname &"')") Sv: Spara IP & username i DB
Får fel medd. Syntaxfel i INSERT INTO-uttryck. på den raden du föreslog.
<code>
<%username = request.cookies("passes")%>
<%admin = request.cookies("passes3")%>
<%friendlyname = request.cookies("passes2")%>
<%If request.cookies("passes") = "" then response.redirect ("login.asp")%>
<%If admin = "no" Then%>
<%Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/logg.mdb")
Ip = Request.Servervariables("REMOTE_ADDR")
Conn.Execute("Insert Into logg(ip,user) Values('"& ip &"','"& friendlyname &"')")
Conn.Close
Set Conn = Nothing%>
<%Else%>
<%End If%></code> Det kanske inte går att få värdet genom friendlyname ?? Eller har jag missat ngt annat??Sv: Spara IP & username i DB
Prova med att skriva ut värdet ur friendlyname innan du går in i INSERT satsen för att se om variabeln verkligen får sitt värde.
Response.Write(friendlyname)
Response.EndSv: Spara IP & username i DB
Jepp där har vi felet, innan denna koden så får jag ut värdet korrekt.
<code><%Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/logg.mdb")</code>
Och efter denna så får jag inte fram den.
Ngn som vet hur jag skall göra för att få fram det värdet?? (efter ovanstående lilla kod)Sv: Spara IP & username i DB
<%
username = request.cookies("passes")
friendlyname = request.cookies("passes2")
admin = request.cookies("passes3")
If username = EMPTY Then
response.redirect ("login.asp")
Else
If admin = "no" Then
Ip = Request.Servervariables("REMOTE_ADDR")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/logg.mdb")
Conn.Execute "Insert Into logg(ip,user) Values('"& ip &"','"& friendlyname &"')"
Conn.Close
Set Conn = Nothing
Else
Response.Write("Admin är inte no")
End If
End If
%>Sv: Spara IP & username i DB
Som jag skrev så funkar det "innan" kopplingen till DB, efter kopplingen försvinner värdet och fel medd kommer..Sv: Spara IP & username i DB
Prova att inna db kopplingen skriva...
Response.Write(username & ", " & admin & ", " & friendlyname)
...och under db kopplingen...
Response.Write(username & ", " & admin & ", " & friendlyname)
Response.End
Se om fler variabler tappar sina värden.Sv: Spara IP & username i DB
Har även testat att bara skriva friendlyname går inte heller.
Testat att skriva friendlyname i IP kolumn, går inte heller. (inget fel i DB alltså)
Men den köper ju inte heller att skriva ut det i response.write efter DB koppling.
Så problemet måste ligga att när DB koppling görs så tappar den friendlyname.(men varför??)
Jag är helt borta på detta, trodde inte det skulle vara så svårt när jag startade.Sv: Spara IP & username i DB
Prova för skojs skull med sessions istället då?
<%
Session("username") = request.cookies("passes")
Session("friendlyname") = request.cookies("passes2")
Session("admin") = request.cookies("passes3")
If Session("username") = EMPTY Then
response.redirect ("login.asp")
Else
If Session("admin") = "no" Then
Ip = Request.Servervariables("REMOTE_ADDR")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/logg.mdb")
Conn.Execute "Insert Into logg(ip,user) Values('"& ip &"','"& Session("friendlyname") &"')"
Conn.Close
Set Conn = Nothing
Else
Response.Write("Admin är inte no")
End If
End If
Session.Abandon
%>Sv: Spara IP & username i DB
Det är absolut över mina kunskaper, nog tagit mig vatten över huvudet,
Men visst har jag väl tänkt rätt det borde ju fungera, men ngt har jag missat som gör att värdet försvinner.Sv: Spara IP & username i DB
http://www.johanrosengren.com/protected.txt
Det är hela koden, men jag bara testat med det som står i inlägget ovan för att minimera felkällor.
Den sidan du ser på txt filen den funkar klockrent, men börjar vi med friendlyname efter DB koppling så barkar det åt skogen...
Iofs så ser jag nu att det används i html koden längre ner på sidan då funkar det också. Det måste vara ngt i samband med att skriva till DB som inte funkar...Sv: Spara IP & username i DB
Detta funkade perfekt
<%@Language="VBScript"%>
<%Option Explicit%>
<%Response.Buffer=TRUE%>
<!-- #include file="adovbs.inc" -->
<%
Dim username
Dim friendlyname
Dim admin
Dim ip
Dim Conn
username = "USer 1"
friendlyname = "Peter"
admin = "no"
If username = EMPTY Then
Response.Write("Till login")
Response.End
Else
If admin = "no" Then
ip = Request.Servervariables("REMOTE_ADDR")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.ConnectionString="Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("logg.mdb")
Conn.Open
Conn.Execute "Insert Into logg(ip,user) Values('"& ip &"','"& friendlyname &"')"
Conn.Close
Set Conn = Nothing
Else
Response.Write("Admin är inte no")
End If
End If
%>Sv: Spara IP & username i DB
Vad skall jag göra för att få det att funka hos mig? Är det dödsdömt att få in det i min kod så att det funkar??
Finns ju mycket kompetenta människor här, ngn borde ju kunna se vad som blir fel i min "ursprungskod"
Peter, jag är jättetacksam för din hjälp (och såg på din hemsida att vi även är "grannar" jag bor ovanför BARI, världen är så liten.... :-) )Sv: Spara IP & username i DB
Vi skulle kunna prata genom fönstren nästan då.
Jag tror att det vajsar sig i själva databaskopplingen för dig. När jag går över till din "Provider..." så får jag Syntax fel i INSERT satsen.
Försök att ställa av din db koppling och kör sedan med den jag har i min kod.
Lägg också in filen adovbs.inc i någon av dina mappar. Ange rätt sökväg till filen i include satsen. Sök efter filen i windows så hittar du den.
Prova och se... det kan inte hända något med dina övriga sidor.
Godnatt och lycka till. Sv: Spara IP & username i DB
Efter att ha gjort ändringen i DB koppling så funkar det kanon!!!
Att det kunde vara det som krånglade..
Tusen tack!!Sv: Spara IP & username i DB
<code>
Conn.Execute "INSERT INTO logg(ip,[user]) VALUES ('"& Replace(ip, "'", "''") &"','"& Replace(Session("friendlyname"), "'", "''") &"')"
</code>