Variabeln är inte deklarerad.
Du behöver lägga in Dim strDbPath antingen i includfilen eller på sidan som du includar filen på.
cya,
PatrikB
6 svar · 294 visningar · startad av costodia
Jag tänkte lägga in pallemans linkadder på min förstasida ( http://ebid.se ), men har lite problem med att det blir
Microsoft VBScript runtime error '800a01f4'
Variable is undefined: 'strDbPath'
/costodia/linkadder_settings.asp, line 2
det konstiga är att den funkar helt utan problem på http://ebid.se/costodia/linkadder.asp och det är den sidan som jag tar include file på på ebid.
Variabeln är inte deklarerad.
Du behöver lägga in Dim strDbPath antingen i includfilen eller på sidan som du includar filen på.
cya,
PatrikB
nu blir det
Microsoft VBScript runtime error '800a01f4'
Variable is undefined: 'mittantal'
/costodia/linkadder_settings.asp, line 6
istället.
linkadder_inc.asp ser ut så här:
<%
'--------------------------------------------------------------------------------------------------------------------------------###
SUB ADD()
'------------------------------------------------------------###
Response.Write "<td height='150'>"
If Request.Cookies("pallelink").Haskeys = FALSE Then
Response.Cookies("pallelink")("linkadder") = "linkadded"
Response.Cookies("pallelink").Expires = date + 1
Response.Write "<form method='post' action='linkadder.asp?linkadder=spara'>"
Response.Write "<table border='0' cellspacing='0' cellpadding='0'>"
Response.Write "<tr><td>Namn på sidan:</td></tr>"
Response.Write "<tr><td><input type='text' name='namn' maxlength='20'></td></tr>"
Response.Write "<tr><td>Adress:</td></tr>"
Response.Write "<tr><td><input type='text' name='adress'></td></tr>"
Response.Write "<td><input type='submit' name='Submit' value='Skicka'></td>"
Response.Write "</table>"
Response.Write "</form>"
Else
Response.Write "<center>"
Response.Write "<b>Hoppsan!</b><br><br>"
Response.Write "Du har redan skickat in din länk idag, du får vänta tills i morgon.<br><br>"
Response.Write "<input type='button' onClick=""javascript:history.back()"" value=' <- Bakåt '>"
Response.Write "</center>"
Response.Write "</td>"
End If
'------------------------------------------------------------###
END SUB
'--------------------------------------------------------------------------------------------------------------------------------###
SUB SAVE()
'------------------------------------------------------------###
Response.Write "<td height='150'>"
If Request.Form("namn") = "" Then
Response.Write "Du har inte fyllt i namnet på sidan... <br>"
Response.Write "<a href='javascript:history.back()'> <-- Tillbaka </a>"
ElseIf Request.Form("adress") = "" Then
Response.Write "Du har inte fyllt i adressen till sidan...<br>"
Response.Write "<a href='javascript:history.back()'> <-- Tillbaka </a>"
Response.Write "</td>"
Else
strRef = Request.ServerVariables("HTTP_REFERER")
strNamn = trim(Request.Form("namn"))
If trim(Left(Request.Form("adress"),7)) = "http://" Then
strAdress = trim(Request.Form("adress"))
Else
strAdress = "http://" & trim(Request.Form("adress"))
End If
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath(strDbPath)
SQL = "INSERT INTO lankar(Namn, Adress, Raknare) VALUES('"& strNamn &"','"& strAdress &"','0')"
Connect.Execute(SQL)
Connect.Close
Set Connect = Nothing
Response.Redirect "linkadder.asp"
End If
'------------------------------------------------------------###
END SUB
'--------------------------------------------------------------------------------------------------------------------------------###
SUB ALL()
'------------------------------------------------------------###
Response.Write "<td valign='top' height='150'>"
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath(strDbPath)
SQL = "SELECT * FROM lankar ORDER BY Raknare DESC"
Set RecSet = Connect.Execute(SQL)
If RecSet.EOF Then
Response.Write "Just nu finns det inga länkar."
Else
Do Until RecSet.EOF
strCounter = RecSet("Raknare")
strID = RecSet("ID")
strNamn = RecSet("Namn")
strAdress = RecSet("Adress")
%>
(<%=strCounter%>) <a href="linkadder.asp?linkadder=vidare&ID=<%=strID%>" target="_blank" OnClick="javascript:location.reload()" onMouseOver="self.status='<%=strAdress%>';return true" onMouseOut="self.status=' ';return true"><%=Server.HTMLEncode(strNamn) %></a><br>
<%
RecSet.movenext
Loop
RecSet.Close
Set RecSet = Nothing
Connect.Close
Set Connect = Nothing
End If
Response.Write "</td>"
'------------------------------------------------------------###
END SUB
'--------------------------------------------------------------------------------------------------------------------------------###
SUB RANDOM()
'------------------------------------------------------------###
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath(strDbPath)
SQL = "SELECT Count(*) AS strPosts FROM lankar"
Set RecSet = Connect.Execute(SQL)
strPoster = RecSet("strPosts")
RecSet.Close
Set RecSet = Nothing
Randomize
strRandom = Int(RND*strPoster) - 1
SQL = "SELECT * FROM lankar"
Set RecSet = Connect.Execute(SQL)
Do While strRandom >= 0
RecSet.MoveNext
strRandom = strRandom - 1
Loop
Response.Redirect RecSet("Adress")
RecSet.Close
Set RecSet = Nothing
Connect.Close
Set Connect = Nothing
'------------------------------------------------------------###
END SUB
'--------------------------------------------------------------------------------------------------------------------------------###
SUB REDIRECT()
'------------------------------------------------------------###
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath(strDbPath)
Set RecSet = Connect.execute("SELECT * FROM lankar WHERE ID= "& Request.Querystring("ID"))
strUrl = RecSet("Adress")
strCount = RecSet("Raknare") + 1
RecSet.Close
Set RecSet = Nothing
Connect.execute("UPDATE lankar SET Raknare = '"& strCount &"' WHERE ID = "& Request.Querystring("ID"))
Response.Redirect(strUrl)
Connect.Close
Set Connect = Nothing
'------------------------------------------------------------###
END SUB
'--------------------------------------------------------------------------------------------------------------------------------###
SUB MAIN_SITE()
'------------------------------------------------------------###
Response.Write "<td height='150' valign='top'>"
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath(strDbPath)
Set RecSet = Connect.Execute("SELECT * FROM lankar ORDER BY ID DESC")
count = 0
If RecSet.EOF Then
Response.Write "Just nu finns det inga länkar."
Else
Do Until RecSet.EOF OR count = mittantal
strCounter = RecSet("Raknare")
strID = RecSet("ID")
strNamn = RecSet("Namn")
strAdress = RecSet("Adress")
%>
(<%=strCounter%>) <a href="linkadder.asp?linkadder=vidare&ID=<%=strID%>" target="_blank" OnClick="javascript:location.reload()" onMouseOver="self.status='<%=strAdress%>';return true" onMouseOut="self.status=' ';return true"><%=Server.HTMLEncode(strNamn) %></a><br>
<%
count = count + 1
RecSet.MoveNext
Loop
RecSet.Close
Set RecSet = Nothing
Connect.Close
Set Connect = Nothing
End If
Response.Write "</td>"
'------------------------------------------------------------###
END SUB
'--------------------------------------------------------------------------------------------------------------------------------###
%>
Om du använder option explicit måste du deklarera alla variabler innan du kan använda dem.
okej lite så här snabbt, hur gör jag det lättast?
Blir till att ta dem en och en .... eller ta bort Option Explicit .... fast, det är ju inte att rekommendera :e
cya,
PatrikB
Och variablerna bör dimmas inne i sina respektive subbar .... om det ej är globala variabler
cya,
PatrikB