Avatar billede andersasp Nybegynder
29. januar 2004 - 09:28 Der er 5 kommentarer og
2 løsninger

Connection x2 (counter)

Hejsa eksperter!

Jeg har en asp side som bruger connection 1, på denne side har jeg lagt en include file som inkluderer en fil som gemmer brugeren IP, dato mm.!

Problemet er dog at når den åbner inkluderer den side som gemmer statistikken får jeg følgende fejl:

-------------------------------------------

Active Server Pages error 'ASP 0141'

Page Command Repeated

/ny/admin/stats/pagecount.asp, line 1

The @ command can only be used once within the Active Server Page.
-------------------------------------------
Jeg har vedlagt den connection (2) som statistik siden har, hvorledes kan man rette/omskrive dette? hvis man sætter statistiksiden ind på en side der ikke har en connection til en database virker det helt perfekt!

<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="Connections/counter.asp" -->
<%
Dim Con
Dim Con_numRows
Dim RS

Set Con = Server.CreateObject("ADODB.Connection")
Con.Open MM_counter_STRING

Con_numRows = 0
%>
Avatar billede steen Nybegynder
29. januar 2004 - 10:08 #1
Du skal blot fjerne følgende linie i din include fil: <%@LANGUAGE="VBSCRIPT"%>

Idet du allerede har erklæret det en gang.

/Steen
Avatar billede steen Nybegynder
29. januar 2004 - 10:09 #2
jeg mente det som et svar ;-)
Avatar billede andersasp Nybegynder
29. januar 2004 - 10:24 #3
Hvis jeg fjerner <%@LANGUAGE="VBSCRIPT"%> kommer den med følgende fejl!

Microsoft VBScript compilation error '800a0411'

Name redefined

/ny/admin/stats/pagecount.asp, line 3

Dim Con
----^

Her det noget at gøre med at hovedsiden hvor statistikken skal logges på har en anden connection "MM_database_STRING"

Koden i siden som skal gemme IPen......

<!--#include file="Connections/counter.asp" -->
<%
Dim Con
Dim Con_numRows
Dim RS

Set Con = Server.CreateObject("ADODB.Connection")
Con.Open MM_counter_STRING

Con_numRows = 0
%>
Avatar billede andersasp Nybegynder
29. januar 2004 - 10:25 #4
Jeg smider lige hele koden, hvis det kan give et bedre overblik!

<!--#include file="Connections/counter.asp" -->
<%
Dim Con
Dim Con_numRows
Dim RS

Set Con = Server.CreateObject("ADODB.Connection")
Con.Open MM_counter_STRING

Con_numRows = 0
%>
<%
Function fixQuotes( theString )
    fixQuotes = Replace( theString, "'", "''" )
End Function

IP = Request.ServerVariables("REMOTE_ADDR")
URL = Request.ServerVariables("URL")

If Session("Reload") <> "" & IP & "," & URL & "" Then
   
    Session("Reload") = "" & IP & "," & URL & ""

    Sql = "SELECT * FROM sider WHERE URL = '" & URL & "'"
    Set RS = Con.Execute(Sql)   

        If (RS.BOF Or RS.EOF) Then
            Count = 1
            SqlNy = "INSERT INTO sider (URL, Count) VALUES('" & fixQuotes(URL) & "','" & fixQuotes(Count) & "')"
            Con.Execute(SqlNy)
    else
        Site = RS("URL")
        End If
       
       
        If Site = URL Then
            Count = RS("Count") + 1
            SqlCount = "UPDATE sider SET Count='" & Count & "' WHERE URL = '" & URL & "'"
            Con.Execute(SqlCount)
        End If       
End If

%>
<%
Con.Close()
Set RS = Nothing
Set Con = Nothing
%>
Avatar billede steen Nybegynder
29. januar 2004 - 18:01 #5
Det jeg tror der sker er, at du i "hoved" siden også benytter "con", og når du så inkluderer en side i denne, hvor du så prøver at skrive DIM CON, så går det galt, idet du allerede har benyttet den, prøv evt følgende:

<!--#include file="Connections/counter.asp" -->
<%
Dim Con2
Dim Con2_numRows
Dim RS2

Set Con2 = Server.CreateObject("ADODB.Connection")
Con2.Open MM_counter_STRING

Con2_numRows = 0
%>
<%
Function fixQuotes( theString )
    fixQuotes = Replace( theString, "'", "''" )
End Function

IP = Request.ServerVariables("REMOTE_ADDR")
URL = Request.ServerVariables("URL")

If Session("Reload") <> "" & IP & "," & URL & "" Then
   
    Session("Reload") = "" & IP & "," & URL & ""

    Sql = "SELECT * FROM sider WHERE URL = '" & URL & "'"
    Set RS2 = Con2.Execute(Sql)   

        If (RS2.BOF Or RS2.EOF) Then
            Count = 1
            SqlNy = "INSERT INTO sider (URL, Count) VALUES('" & fixQuotes(URL) & "','" & fixQuotes(Count) & "')"
            Con2.Execute(SqlNy)
    else
        Site = RS2("URL")
        End If
       
       
        If Site = URL Then
            Count = RS2("Count") + 1
            SqlCount = "UPDATE sider SET Count='" & Count & "' WHERE URL = '" & URL & "'"
            Con2.Execute(SqlCount)
        End If       
End If

%>
<%
Con2.Close()
Set RS2 = Nothing
Set Con2 = Nothing
%>
Avatar billede andersasp Nybegynder
29. januar 2004 - 18:23 #6
Hej steen!

Nu er den i hvert fald kommet en del længere :-D

den kommer dog nu med en fejl i linie 30

        If (RS2.BOF Or RS2.EOF) Then
            Count = 1
            SqlNy = "INSERT INTO sider (URL, Count) VALUES('" & fixQuotes(URL) & "','" & fixQuotes(Count) & "')"
            Con2.Execute(SqlNy)    ' her kommer fejlen

Syntax error in INSERT STATEMENT
Avatar billede andersasp Nybegynder
29. januar 2004 - 18:57 #7
Tusinde tak for hjælpen: løsningen var i linie 30

SqlNy = "INSERT INTO sider (URL, [Count]) VALUES('" & fixQuotes(URL) & "','" & fixQuotes(Count) & "')"
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