webForumDet fria alternativet

Microsoft VBScript runtime error '800a01f4'

6 svar · 294 visningar · startad av costodia

costodiaMedlem sedan aug. 2000864 inlägg
#1

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.

PatrikBMedlem sedan mars 20002 836 inlägg
#2

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

costodiaMedlem sedan aug. 2000864 inlägg
#3

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")
	%>
		&nbsp; (<%=strCounter%>) &nbsp; <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")
	%>
		&nbsp; (<%=strCounter%>) &nbsp; <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

'--------------------------------------------------------------------------------------------------------------------------------###
%>
@ndersMedlem sedan juni 200032 969 inlägg
#4

Om du använder option explicit måste du deklarera alla variabler innan du kan använda dem.

costodiaMedlem sedan aug. 2000864 inlägg
#5

okej lite så här snabbt, hur gör jag det lättast?

PatrikBMedlem sedan mars 20002 836 inlägg
#6

Blir till att ta dem en och en .... eller ta bort Option Explicit .... fast, det är ju inte att rekommendera :e

cya,
PatrikB

PatrikBMedlem sedan mars 20002 836 inlägg
#7

Och variablerna bör dimmas inne i sina respektive subbar .... om det ej är globala variabler

cya,
PatrikB

133 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)