webForumDet fria alternativet

Räknare

ASP

25 svar · 718 visningar · startad av Ceeron

Medlem sedan aug. 2000378 inlägg
Frågan#1

Filar på en räknare efter sett nåra script osv.

Mitt problem e att inget händer. Infogar koden med
<script language="JavaScript" src="raknare.asp?id=2"></script>
sen har jag då fixat variabler som kan användas för att visa antal hits osv. Men verkar inte som något tar. Tror att min querystring inte funkar. E osäker hur man ska skriva för att den ska ta...


<%

If Session(" & Request.Querystring("id") & ") = False Then

	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.Mappath("raknare.mdb")

	Set RecSet = Server.CreateObject("ADODB.Recordset")
	besok = "SELECT * FROM raknare WHERE ID =" & Request.Querystring("id") & " "

	RecSet.Open besok, Connect, adOpenStatic, adLockOptimistic 

	RecSet("hitz") = RecSet("hitz") + 1

	If Request.Cookies("Ceeron")(" & Request.Querystring("id") & ").HASKEYS = False Then

	Request.Cookies("Ceeron")(" & Request.Querystring("id") & ") = True
	Request.Cookies("Ceeron")(" & Request.Querystring("id") & ").Expires = Date + 1000

	RecSet("unic") = RecSet("unic") + 1

	End If

	RecSet.Update

	hitz = RecSet("hitz")
	unic = RecSet("unic")

	Response.Write hitz

	Session(" & Request.Querystring("id") & ") = True

	RecSet.Close
	Set RecSet = nothing
	Connect.Close
	Set Connect = nothing

End If

%>

[1]

Medlem sedan dec. 200012 464 inlägg
#2
If Session(cstr(Request.Querystring("id"))) = False Then
Medlem sedan aug. 2000378 inlägg
#3

Funkar fortfarande inte med bara den snutten

Medlem sedan dec. 200012 464 inlägg
#4
If Cbool(Session(cstr(Request.Querystring("id")))) = False Then

Hur ser det ut med lite testutskrifter?

response.write "ID:" & Request.Querystring("id") & " :DI<br>"
ID = Cstr(Request.Querystring("id") )
response.write "SE:" & Session(id) & " :ES<br>"
If Cbool(Session(cstr(Request.Querystring("id")))) = False Then
Medlem sedan aug. 2000378 inlägg
#5

Längesen jag gjorde något på denna lilla sak men kolla följande:

<%
	Response.Buffer = True

	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("raknare.mdb")

	Set RS = Server.CreateObject("ADODB.Recordset")
	SQL = "select * from raknare where id =" & Request.Querystring("id")

	RS.Open SQL, Connect, 3, 3 

 If Session(cstr(Request.Querystring("id"))) = False Then

	RS("hitz") = RS("hitz") + 1

	If Request.Cookies("Ceeron").HASKEYS = False Then

	Response.Cookies("Ceeron")(Request.Querystring("id")) = True
	Response.Cookies("Ceeron").Expires = Date + 1000

	RS("unic") = RS("unic") + 1

	End If

	RS.Update

	Session(Request.Querystring("id")) = True

 End If
	hitz = RS("hitz")

	Response.Write hitz

	RS.Close
	Set RS = nothing
	Connect.Close
	Set Connect = nothing

%>

Allt funkar finfint när man kollar på denna sida men när jag försöker länka in den i olika dokument med hjälp av java-script händer inget...

<script language="JavaScript" src="hitz.asp?id=1"></script>

Va e då felet?

I en annan räknare jag fluttade lite på fann jag denna rad som skrev ut antalet träffar:

<%For i=1 to Len(hitz)%><%=Mid(hitz,i,1)%><%Next%>

Har denna någon speciell betydelse som gör att min inte skriver ut men denna gör?

Tacksam för svar

Medlem sedan mars 20015 287 inlägg
#6

Kan man länka in filen så där med javascript överhuvudtaget?

Medlem sedan aug. 2000378 inlägg
#7

Joda, har ett script som gör så...

Har försökt göra en egen "kopia" för att få det mer som jag vill bara...
Så det går ;)

Men vettefan va:

<%For i=1 to Len(hitz)%><%=Mid(hitz,i,1)%><%Next%>

gör... kanske det som e grejjen... får väl testa men skulle va glad om någon såg en brist lr nåt som jag gjort ;)

Medlem sedan mars 20015 287 inlägg
#8

Fungerar det så långt att det uppdaterar/räknar upp i databasen?

Medlem sedan aug. 2000378 inlägg
#9

Jarå, allt funkar om man t.ex. skriver in adress till filen direkt så räknar den o har sig ;)

Det e när den ska infogas den inte vill...
Tycker detta e lite konstigt...

Nåt me sessions o göra?

Medlem sedan feb. 200112 078 inlägg
#10

Jag har själv ingen erfarenhet av det där med att inkludera filer i en javascript-tagg, men jag vet iallafall att man brukar göra såhär i vanliga fall:

<img src="hitz.asp?id=1" height="1" width="1">
Medlem sedan aug. 2000378 inlägg
#11

Det funkade inte det heller... Blir lite smågalen ;)
Får väl inkludera med SSI lr nåt o testa lite mer...

Edit: Men går ju inte o skicka med någon variabel med en include...

Medlem sedan feb. 200112 078 inlägg
#12

Det här då?

server.execute "hitz.asp?id=1"
Medlem sedan juni 200032 967 inlägg
#13

Nej, det fungerar inte. Man kan inte ange querystring till varken Server.Transfer eller Server.Execute.

Mvh,

Medlem sedan aug. 2000378 inlägg
#14

Som sagt så finns det ett liknande script kan posta det här, tror det e Gruvsjö lr nåt sånt som skrev det: https://www.gruvsjo.com

<%Set Conn = Server.CreateObject("ADODB.Connection") 
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("db/raknare.mdb")

Conn.Execute("UPDATE raknare SET hitz = hitz + 1 Where id=" & Request.Querystring("id"))
Set RecSet=Conn.Execute("SELECT * FROM raknare Where id=" & Request.Querystring("id"))

hitz = RecSet("hitz")%>

document.write("    <%For i=1 to Len(hitz)%><%=Mid(hitz,i,1)%><%Next%>")

<%RecSet.Close
Conn.Close%>

och sedan skriver man ut det på sidan mha:

<script language="JavaScript" src="hitz.asp?id=1"></script>

Vad i ****** är det som gör att min inte vill skriva ut sig?

Medlem sedan jan. 20022 440 inlägg
#15

@nders skrev:

Nej, det fungerar inte. Man kan inte ange querystring till varken Server.Transfer eller Server.Execute.

Mvh,

^ Kan det vara ovanstående tros ? §e

Medlem sedan aug. 2000378 inlägg
#16

Men som min post ovan med det scriptet funkar det hur bra som helst o skriva ut det med. Som sagt hade lite av det till grund för att jag ville göra det som JAG ville ha det...

Får väl ta o lägga ner alltihop istället :P

Medlem sedan okt. 20023 030 inlägg
#17

Varför denna onödiga For-loop?

<%For i=1 to Len(hitz)%><%=Mid(hitz,i,1)%><%Next%>

Det är samma sak som att ta

<%=hitz%>

Förutom att det går snabbare med det sista.. Det översta tar den bara ett tecken i taget med.

Däremot tror jag att detta ska fungera:

<%

If Not Session(Request.Querystring("id")) = "ja" Then

	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.Mappath("raknare.mdb")

	Set RecSet = Server.CreateObject("ADODB.Recordset")
	besok = "SELECT * FROM raknare WHERE ID =" & Request.Querystring("id")

	RecSet.Open besok, Connect, adOpenStatic, adLockOptimistic 

	RecSet("hitz") = RecSet("hitz") + 1

	If Request.Cookies("Ceeron")(Request.Querystring("id")).HASKEYS = False Then

	Request.Cookies("Ceeron")(Request.Querystring("id")) = True
	Request.Cookies("Ceeron")(Request.Querystring("id")).Expires = Date + 1000

	RecSet("unic") = RecSet("unic") + 1

	End If

	RecSet.Update

	hitz = RecSet("hitz")
	unic = RecSet("unic")

	Response.Write "document.write(""" & hitz & """)"

	Session(Request.Querystring("id")) = "ja"

	RecSet.Close
	Set RecSet = nothing
	Connect.Close
	Set Connect = nothing

End If

%>

Har själv haft lite problem med booleaner och siffror i Sessions. Detta ska fungera med <script language="Javascript" src="raknare.asp?id=2"></script>

Medlem sedan aug. 2000378 inlägg
#18

NeXus va gullig du e ;)
Funkar tror jag :P

Ok, så man ska inte leka med True värden på Sessions, upfattat ;)

Medlem sedan mars 20015 287 inlägg
#19

Rätta mig om jag har fel.
En av de större anledningarna till att ditt script inte fungerade är väl denna rad:

document.write("    <%For i=1 to Len(hitz)%><%=Mid(hitz,i,1)%><%Next%>")

Du saknar: document.write(" osv. - delen i ditt script, tror den är vesäntlig för att javascriptet ska kunna visa texten.

Medlem sedan aug. 2000378 inlägg
#20

Ok det funkar nu iaf...

<%
	Response.Buffer = True

	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("raknare.mdb")

	Set RS = Server.CreateObject("ADODB.Recordset")
	SQL = "select * from raknare where id =" & Request.Querystring("id")

	RS.Open SQL, Connect, 3, 3 

 If Not Session(cstr(Request.Querystring("id"))) = "ja" Then

	RS("hitz") = RS("hitz") + 1
	

	If Request.Cookies("Ceeron").HASKEYS = False Then

	Response.Cookies("Ceeron")(Request.Querystring("id")) = True
	Response.Cookies("Ceeron").Expires = Date + 1000

	RS("unic") = RS("unic") + 1

	End If

	RS.Update

	Session(Request.Querystring("id")) = "ja"

 End If
	hitz = RS("hitz")

	Response.Write "document.write(""" & hitz & """)"

	RS.Close
	Set RS = nothing
	Connect.Close
	Set Connect = nothing

%>

Men jag får mitt klassiska problem (som jag får på fler sidor) att

Microsoft JET Database Engine error '80040e10' 

No value given for one or more required parameters. 

/hitz.asp, line 11

Får som sagt denna på flera sidor... E det nåt ni ser som e fel vid min öppning lr något? 3, 3? Jag vet inte men ganska irriterande... Går ju o reloada nåra gånger men inge kul när man ska ha en räknare...

Tacksam för svar omgående ;)

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