Avatar billede djmoose Nybegynder
23. oktober 2001 - 13:46 Der er 27 kommentarer og
1 løsning

Max. 1 stemme

Jeg har et stemmesystem på siden:

http://www.wmahitlist.dk/clickcount/clickcount.asp

som jeg skal have sat en kode en i, så man kun kan stemme en gang om ugen. Hvilken kode og hvor skal den placeres. Access databasen hedder hits.mdb. Jeg har desværre ikke så meget forstand på det, så koden skal gerne være ordret.

Håber i kan hjælpe, derfor har giver jeg 170 point.

Koden ser således ud:

<%
Response.Buffer = True

Set myConn = Server.CreateObject(\"ADODB.Connection\")
myConn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"hits.mdb\")

If Request.QueryString(\"id\") <> \"\" Then
    Set rs = Server.CreateObject(\"ADODB.RecordSet\")
    strSQL = \"SELECT * FROM Banner WHERE (ID = \" & Request.QueryString(\"id\") & \")\"
    rs.Open strSQL, myConn, 1, 3
    If Not (rs.BOF Or rs.EOF) Then
        rs(\"Clicks\") = rs(\"Clicks\") + 1
        strURL = rs(\"Url\")
        rs.Update
        rs.Close
        myConn.Close
        Set rs = Nothing
        Set myConn = Nothing
        Response.Clear
        Response.Redirect(strURL)
    End If
End If
%>

<html><head>
<title>Top Link LIst</title>
</head><body>
<p>Most Visited</p>

<%
strSQL = \"SELECT * FROM Banner ORDER BY Clicks DESC\"
Set rs = myConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then
    Do While Not rs.EOF
        Response.Write \"<p><a href=Clickcount.asp?id=\" & rs(\"ID\") & \">\" & rs(\"Description\") & \"</a><br>\"
        Response.Write \"<font size=-1>Hits: \" & rs(\"Clicks\") & \"</p>\"
        rs.Movenext
    Loop   
End If
myConn.Close
Set myConn = Nothing
%>

Avatar billede 2-maz Nybegynder
23. oktober 2001 - 13:54 #1
Du sætter dette ind:

If Request.Cookies(\"1\") <> \"Ja\" Then
  Set myConn = Server.CreateObject(\"ADODB.Connection\")
myConn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"hits.mdb\")

If Request.QueryString(\"id\") <> \"\" Then
    Set rs = Server.CreateObject(\"ADODB.RecordSet\")
    strSQL = \"SELECT * FROM Banner WHERE (ID = \" & Request.QueryString(\"id\") & \")\"
    rs.Open strSQL, myConn, 1, 3
    If Not (rs.BOF Or rs.EOF) Then
        rs(\"Clicks\") = rs(\"Clicks\") + 1
        strURL = rs(\"Url\")
        rs.Update
        rs.Close
        myConn.Close
        Set rs = Nothing
        Set myConn = Nothing
        Response.Clear
        Response.Redirect(strURL)
    End If
End If
%>

<html><head>
<title>Top Link LIst</title>
</head><body>
<p>Most Visited</p>

<%
strSQL = \"SELECT * FROM Banner ORDER BY Clicks DESC\"
Set rs = myConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then
    Do While Not rs.EOF
        Response.Write \"<p><a href=Clickcount.asp?id=\" & rs(\"ID\") & \">\" & rs(\"Description\") & \"</a><br>\"
        Response.Write \"<font size=-1>Hits: \" & rs(\"Clicks\") & \"</p>\"
        rs.Movenext
    Loop   
End If
myConn.Close
Set myConn = Nothing
Response.Cookies(\"harstemt\")(\"1\") = \"Ja\"
Response.Cookies(\"harstemt\").Expires = Date+7
End if
Avatar billede 2-maz Nybegynder
23. oktober 2001 - 13:56 #2
dU SKAL OG SÅ LIGE sætte en Else ind hvor den redirecter til din side....
også skal connection\'en over hele if sætningen
Avatar billede djmoose Nybegynder
23. oktober 2001 - 13:58 #3
Kan du lige forklare det der ELSE også....
Avatar billede 2-maz Nybegynder
23. oktober 2001 - 13:59 #4

  Set myConn = Server.CreateObject(\"ADODB.Connection\")
myConn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"hits.mdb\")
Set rs = Server.CreateObject(\"ADODB.RecordSet\")
    strSQL = \"SELECT * FROM Banner WHERE (ID = \" & Request.QueryString(\"id\") & \")\"
If Request.Cookies(\"1\") <> \"Ja\" Then
    rs.Open strSQL, myConn, 1, 3
   
If Request.QueryString(\"id\") <> \"\" Then
    Set rs = Server.CreateObject(\"ADODB.RecordSet\")
    strSQL = \"SELECT * FROM Banner WHERE (ID = \" & Request.QueryString(\"id\") & \")\"
    rs.Open strSQL, myConn, 1, 3
    If Not (rs.BOF Or rs.EOF) Then
        rs(\"Clicks\") = rs(\"Clicks\") + 1
        strURL = rs(\"Url\")
        rs.Update
        rs.Close
        myConn.Close
        Set rs = Nothing
        Set myConn = Nothing
        Response.Clear
        Response.Redirect(strURL)
    End If
End If
%>

<html><head>
<title>Top Link LIst</title>
</head><body>
<p>Most Visited</p>

<%
strSQL = \"SELECT * FROM Banner ORDER BY Clicks DESC\"
Set rs = myConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then
    Do While Not rs.EOF
        Response.Write \"<p><a href=Clickcount.asp?id=\" & rs(\"ID\") & \">\" & rs(\"Description\") & \"</a><br>\"
        Response.Write \"<font size=-1>Hits: \" & rs(\"Clicks\") & \"</p>\"
        rs.Movenext
    Loop   
End If

Response.Cookies(\"harstemt\")(\"1\") = \"Ja\"
Response.Cookies(\"harstemt\").Expires = Date+7
Else
Response.Redirect(strUrl)
End if
myConn.Close
Set myConn = Nothing
Avatar billede 2-maz Nybegynder
23. oktober 2001 - 14:00 #5
Så burde det virke
Avatar billede 2-maz Nybegynder
23. oktober 2001 - 14:03 #6
Det øverste skal se sådan her ud der skete lige en fejl:


  Set myConn = Server.CreateObject(\"ADODB.Connection\")
myConn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"hits.mdb\")
Set rs = Server.CreateObject(\"ADODB.RecordSet\")
    strSQL = \"SELECT * FROM Banner WHERE (ID = \" & Request.QueryString(\"id\") & \")\"
rs.Open strSQL, myConn, 1, 3
If Request.Cookies(\"1\") <> \"Ja\" Then

(Der rs.Open strSQL, myConn, 1, 3 bliver bare flyttet..)
   
Avatar billede 2-maz Nybegynder
23. oktober 2001 - 14:05 #7
Jeg har lige kigget igen og jeg kan se du laver en header midt inde i det hele den skal du flytte ned under hele scriptet altså dette her:

<html><head>
<title>Top Link LIst</title>
</head><body>
<p>Most Visited</p>

Det må ikke være der ellers virker scriptet ikke, du kan bare flytte det ned under det hele..!
Avatar billede 2-maz Nybegynder
23. oktober 2001 - 14:07 #8
Undsklyd alt det bøvl ;-)
Avatar billede djmoose Nybegynder
23. oktober 2001 - 14:31 #9
Prøv at gå ind på linket igen. Jeg har prøvet ordret at skrive hvad du gør men alligevel komme fejlen.

Her er koden som jeg har skrevet, kan der være en fejl:

<%
Response.Buffer = True

Set myConn = Server.CreateObject(\"ADODB.Connection\")
myConn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath
(\"hits.mdb\")

Set rs = Server.CreateObject(\"ADODB.RecordSet\")
    strSQL = \"SELECT * FROM Banner WHERE (ID = \" & Request.QueryString(\"id\") & \")\"
rs.Open strSQL, myConn, 1, 3
If Request.Cookies(\"1\") <> \"Ja\" Then

If Request.QueryString(\"id\") <> \"\" Then
    Set rs = Server.CreateObject(\"ADODB.RecordSet\")
    strSQL = \"SELECT * FROM Banner WHERE (ID = \" & Request.QueryString(\"id\") & \")\"
    rs.Open strSQL, myConn, 1, 3   
    If Not (rs.BOF Or rs.EOF) Then       
        rs(\"Clicks\") = rs(\"Clicks\") + 1       
        strURL = rs(\"Url\")
        rs.Update       
        rs.Close       
        myConn.Close       
        Set rs = Nothing       
        Set myConn = Nothing       
        Response.Clear       
        Response.Redirect(strURL)   
    End If
End If
%>


<%
strSQL = \"SELECT * FROM Banner ORDER BY Clicks DESC\"
Set rs = myConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then 
  Do While Not rs.EOF       
Response.Write \"<p><a href=Clickcount.asp?id=\" & rs(\"ID\") & \">\" & rs
(\"Description\") & \"</a><br>\"
        Response.Write \"<font size=-1>Hits: \" & rs(\"Clicks\") & \"</p>\"       
rs.Movenext   
Loop   
End If

Response.Cookies(\"harstemt\")(\"1\") = \"Ja\"
Response.Cookies(\"harstemt\").Expires = Date+7
Else
Response.Redirect(strUrl)
End if
myConn.Close
Set myConn = Nothing
%>
<html><head><title>Top Link
LIst</title></head><body><p>Most
Visited</p>

Avatar billede djmoose Nybegynder
23. oktober 2001 - 14:45 #10
Fejlen er på linje 9:

Microsoft OLE DB Provider for ODBC Drivers error \'80040e14\'

[Microsoft][ODBC Microsoft Access Driver] Extra ) in query expression \'(ID = )\'.

/clickcount/clickcount.asp, line 9

OG på linje 9 står der:

rs.Open strSQL, myConn, 1, 3

Avatar billede 2-maz Nybegynder
23. oktober 2001 - 14:58 #11
Så prøv denne her:

<%
Response.Buffer = True

If Request.Cookies(\"harstemt\")(\"1\") <> \"Ja\" Then
Set myConn = Server.CreateObject(\"ADODB.Connection\")
myConn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"hits.mdb\")

Set rs = Server.CreateObject(\"ADODB.RecordSet\")
    strSQL = \"SELECT * FROM Banner WHERE (ID = \" & Request.QueryString(\"id\") & \")\"
rs.Open strSQL, myConn, 1, 3


If Request.QueryString(\"id\") <> \"\" Then
    Set rs = Server.CreateObject(\"ADODB.RecordSet\")
    strSQL = \"SELECT * FROM Banner WHERE (ID = \" & Request.QueryString(\"id\") & \")\"
    rs.Open strSQL, myConn, 1, 3   
    If Not (rs.BOF Or rs.EOF) Then       
        rs(\"Clicks\") = rs(\"Clicks\") + 1       
        strURL = rs(\"Url\")
        rs.Update       
        rs.Close       
        myConn.Close       
        Set rs = Nothing       
        Set myConn = Nothing       
        Response.Clear       
        Response.Redirect(strURL)   
    End If
End If




strSQL = \"SELECT * FROM Banner ORDER BY Clicks DESC\"
Set rs = myConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then 
  Do While Not rs.EOF       
Response.Write \"<p><a href=Clickcount.asp?id=\" & rs(\"ID\") & \">\" & rs
(\"Description\") & \"</a><br>\"
        Response.Write \"<font size=-1>Hits: \" & rs(\"Clicks\") & \"</p>\"       
rs.Movenext   
Loop   
End If

Response.Cookies(\"harstemt\")(\"1\") = \"Ja\"
Response.Cookies(\"harstemt\").Expires = Date+7

Else

Set myConn = Server.CreateObject(\"ADODB.Connection\")
myConn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath
(\"hits.mdb\")

Set rs = Server.CreateObject(\"ADODB.RecordSet\")
    strSQL = \"SELECT * FROM Banner WHERE (ID = \" & Request.QueryString(\"id\") & \")\"
rs.Open strSQL, myConn, 1, 3
strURL = rs(\"Url\")

Response.Redirect(strURL)

End if


myConn.Close
Set myConn = Nothing

%>
Avatar billede djmoose Nybegynder
23. oktober 2001 - 15:13 #12
Nu virker den slet ikke.... Ikke engang en fejlmelding!
Avatar billede djmoose Nybegynder
23. oktober 2001 - 15:18 #13
Endnu engang min kode til check:

If Request.Cookies(\"harstemt\")(\"1\") <> \"Ja\" Then
Set myConn = Server.CreateObject(\"ADODB.Connection\")
myConn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"hits.mdb\")

Set rs = Server.CreateObject(\"ADODB.RecordSet\")
strSQL = \"SELECT * FROM Banner WHERE (ID = \" & Request.QueryString(\"id\") & \")\"
rs.Open strSQL, myConn, 1, 3

If Request.QueryString(\"id\") <> \"\" Then
Set rs = Server.CreateObject(\"ADODB.RecordSet\")
strSQL = \"SELECT * FROM Banner WHERE (ID = \" & Request.QueryString(\"id\") & \")\"
rs.Open strSQL, myConn, 1, 3
If Not (rs.BOF Or rs.EOF) Then
rs(\"Clicks\") = rs(\"Clicks\") + 1
strURL = rs(\"Url\")
rs.Update
rs.Close
myConn.Close
Set rs = Nothing
Set myConn = Nothing
Response.Clear
Response.Redirect(strURL)
End If
End If

strSQL = \"SELECT * FROM Banner ORDER BY Clicks DESC\"
Set rs = myConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then
Do While Not rs.EOF
Response.Write \"<p><a href=Clickcount.asp?id=\" & rs(\"ID\") & \">\" & rs(\"Description\") & \"</a><br>\"
Response.Write \"<font size=-1>Hits: \" & rs(\"Clicks\") & \"</p>\"
rs.Movenext
Loop
End If

Response.Cookies(\"harstemt\")(\"1\") = \"Ja\"
Response.Cookies(\"harstemt\").Expires = Date+7

Else

Set myConn = Server.CreateObject(\"ADODB.Connection\")
myConn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"hits.mdb\")

Set rs = Server.CreateObject(\"ADODB.RecordSet\")
strSQL = \"SELECT * FROM Banner WHERE (ID = \" & Request.QueryString(\"id\") & \")\"
rs.Open strSQL, myConn, 1, 3
strURL = rs(\"Url\")

Response.Redirect(strURL)

End if

myConn.Close
Set myConn = Nothing

%>
<html><head>
<title>Top Link LIst</title>
</head><body>
<p>Most Visited</p>

Avatar billede djmoose Nybegynder
23. oktober 2001 - 15:21 #14
Forhøjer point hvis vi får løst det i dag....
Avatar billede 2-maz Nybegynder
23. oktober 2001 - 15:43 #15
Det her burde virke..

<%
Response.Buffer = True

Set myConn = Server.CreateObject(\"ADODB.Connection\")
myConn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"hits.mdb\")


If Request.Cookies(\"harstemt\")(\"1\") <> \"Ja\" Then
If Request.QueryString(\"id\") <> \"\" Then
    Set rs = Server.CreateObject(\"ADODB.RecordSet\")
    strSQL = \"SELECT * FROM Banner WHERE (ID = \" & Request.QueryString(\"id\") & \")\"
    rs.Open strSQL, myConn, 1, 3
    If Not (rs.BOF Or rs.EOF) Then
        rs(\"Clicks\") = rs(\"Clicks\") + 1
        strURL = rs(\"Url\")
        rs.Update
        rs.Close
        myConn.Close
        Set rs = Nothing
        Set myConn = Nothing
        Response.Clear
        Response.Redirect(strURL)
        Response.Cookies(\"harstemt\")(\"1\") = \"Ja\"
        Response.Cookies(\"harstemt\").Expires = Date+7
  End If
End If
Else
  strSQL11 = \"SELECT * FROM Banner WHERE (ID = \" & Request.QueryString(\"id\") & \")\"
  Set rs11 = myConnExecute(strSQL11)
  strURL1 = rs(\"Url\")
  Response.Redirect(strURL1)
End If 




%>

<html><head>
<title>Top Link LIst</title>
</head><body>
<p>Most Visited</p>

<%
strSQL = \"SELECT * FROM Banner ORDER BY Clicks DESC\"
Set rs = myConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then
    Do While Not rs.EOF
        Response.Write \"<p><a href=Clickcount.asp?id=\" & rs(\"ID\") & \">\" & rs(\"Description\") & \"</a><br>\"
        Response.Write \"<font size=-1>Hits: \" & rs(\"Clicks\") & \"</p>\"
        rs.Movenext
    Loop   
End If
myConn.Close
Set myConn = Nothing
%>
Avatar billede djmoose Nybegynder
23. oktober 2001 - 15:51 #16
Virker heller ikke. Gør det noget hvis linjen står lige under hinanden eller skal det være 100% identisk som ovenover med forskydninger osv.
Avatar billede 2-maz Nybegynder
23. oktober 2001 - 16:00 #17
Prøv at kopiere det der script.. og indsæt det..
Avatar billede djmoose Nybegynder
23. oktober 2001 - 16:04 #18
Når jeg kopier over i Frontpage skal jeg rette en del til. Alle <, >, & osv bliver specialtegn, samt det hele kommer i en stor bunke og så skal jeg sidde og rode med dig. Hvis det er iorden med dig så kan jeg sende den orig. fil via email...
Avatar billede 2-maz Nybegynder
23. oktober 2001 - 16:16 #19
Jeg laver et helt nyt til dig, med en anden Connection..
Avatar billede djmoose Nybegynder
23. oktober 2001 - 16:21 #20
OK
Avatar billede 2-maz Nybegynder
23. oktober 2001 - 16:55 #21
Dette her SKAL virke, Har gennem testet det..

<%
Response.Buffer = True

Set Conn = Server.CreateObject(\"ADODB.Connection\")
DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \"
DSN = DSN & \"DBQ=\" & Server.MapPath (\"hits.mdb\")
Conn.Open DSN



If Request.QueryString(\"id\") <> \"\" Then

strSQL = \"SELECT * FROM Banner WHERE (ID = \" & Request.QueryString(\"id\") & \")\"

Set rs = Conn.Execute(strSQL)

If Request.Cookies(\"harstemt\")(\"1\") <> \"Ja\" Then
  strUrl = rs(\"Url\")
  strClicks = rs(\"Clicks\") +1
  strSQL1 = \"Update Banner set \"
  strSQL1 = strSQL1 & \"Clicks= \" & strClicks
  strSQL1 = strSQL1 & \" WHERE (ID = \" & Request.QueryString(\"id\") & \")\"
  Conn.Execute(strSQL1)
  Response.Cookies(\"harstemt\")(\"1\") = \"Ja\"
  Response.Cookies(\"harstemt\").Expires = Date+7
  Response.Redirect(strUrl)
  Else
  strSQL11 = \"SELECT * FROM Banner WHERE ID = \" & Request.QueryString(\"id\")
  Set rs11 = Conn.Execute(strSQL11)
  strURL1 = rs(\"Url\")
  Response.Redirect(strURL1)

  End If


 
End If 




%>

<html><head>
<title>Top Link LIst</title>
</head><body>
<p>Most Visite</p>

<%
strSQL = \"SELECT * FROM Banner ORDER BY Clicks DESC\"
Set rs = Conn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then
    Do While Not rs.EOF
        Response.Write \"<p><a href=Clickcount.asp?id=\" & rs(\"ID\") & \">\" & rs(\"Description\") & \"</a><br>\"
        Response.Write \"<font size=-1>Hits: \" & rs(\"Clicks\") & \"</p>\"
        rs.Movenext
    Loop   
End If
Conn.Close
Set Conn = Nothing

%>
Avatar billede djmoose Nybegynder
23. oktober 2001 - 17:07 #22
Jeg må jo skrive et eller andet forkert, den virker stadig ikke har lige uploadet. Kan du ikke sende den tilbage pr. email. Eller kan det være at min udbyders server ikke understøtter det du laver (fungere udemærket inden)?
Avatar billede djmoose Nybegynder
23. oktober 2001 - 17:10 #23
Nu virker den sgu, sorry. Du har fandeme fortjent dine point!
Avatar billede 2-maz Nybegynder
23. oktober 2001 - 17:12 #24
Hvad er din email
Avatar billede djmoose Nybegynder
23. oktober 2001 - 17:12 #25
Thanks......

Husk at besøge min hjemmeside www.wmahitlist.dk
Avatar billede djmoose Nybegynder
23. oktober 2001 - 17:17 #26
Jeg har endnu en opgave til dig med cookies. Men den kan vi jo tage en anden gang, hvis du er interresert.
Avatar billede 2-maz Nybegynder
23. oktober 2001 - 17:30 #27
Bare kom med Udfordringen...
Avatar billede djmoose Nybegynder
23. oktober 2001 - 20:13 #28
Jeg skal have lavet nøjagtig det samme i en væsentlige større fil som jeg ikke lige vil skrive her da den vil fylde det hele, så jeg sender den lige til dig. Dette er mit linkskatalog, hvor man kan trykke på linksene på ens klik tæller kun en gang, selvom man trykker flere gange.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester