webForumDet fria alternativet

Räkna besök

ASPur ASP

43 svar · 882 visningar · startad av WebbisNet · sida 2 av 3

Frågan, av WebbisNet

Jag har i tabellen tblUsersvisitors 2 kolumner som heter HomeUserId som är den inloggade användarens ID och HomeVisitorId som är besökarens ID. Jag vill räkna ihop den inloggade användarens alla besök som den personen har fått och min sql-sats ökar inte värdet när man besöker sidan. Koden är Set homeCounter=objConn.Execute("SELECT Count(HomeUserId) AS Antal FROM tblUsersvisitors Where Home

Läs frågan i sin helhet →
Medlem sedan feb. 20032 027 inlägg
#21

Mitt problem verkar vara att inte rätt ID sparas i den två ID-tabellerna så att inte en korrekt post sparas. Kan någon se varför en nolla sparas i databasen när man besöker någons sida

lVisitorId = CLng(session("UserId"))   '# besökarens id
lUserId = CLng(request("UserId"))   '# krypinets ägares id

Set visitor=objConn.Execute("SELECT TOP 5 tblUsers.userID, tblUsers.username, tblUsers.screenname, tblUsers_visitors.ID, tblUsers_visitors.HomeVisitorId, tblUsers_visitors.HomeUserId, tblUsers_visitors.HomeDateVisited, tblUsers_visitors.HomeTimeVisited "&_
"FROM tblUsers RIGHT JOIN tblUsers_visitors ON tblUsers.userID = tblUsers_visitors.HomeVisitorId where HomeUserId="&session("userID") &" GROUP BY tblUsers.userID, tblUsers.username, tblUsers.screenname, tblUsers_visitors.ID, tblUsers_visitors.HomeVisitorId, tblUsers_visitors.HomeUserId, tblUsers_visitors.HomeDateVisited, tblUsers_visitors.HomeTimeVisited "&_
"ORDER BY tblUsers_visitors.ID DESC")

if not lUserId = lVisitorId then
objConn.execute "INSERT INTO tblUsers_visitors (HomeUserId, HomeVisitorId, HomeDateVisited,HomeTimeVisited) VALUES(" & lUserId & "," & lVisitorId & ",#" & date & "#,#" & time & "#)"
   'response.redirect "view.asp"
end if
Medlem sedan juni 200032 967 inlägg
#22

Skriv ut färdiga SQL-frågor istället för att exekvera. Det går inte att felsöka SQL-frågor om man inte vet hur de ser ut.

Medlem sedan feb. 20032 027 inlägg
#23

jag får

HomeUserId, HomeVisitorId, HomeDateVisited,HomeTimeVisited) VALUES(0,1,#2004-10-26#,#17:26:52#)

nollan ska inte vara där, ingen post börjar på 0

Medlem sedan juni 200032 967 inlägg
#24

Då är det alltså:

lUserId = CLng(request("UserId"))   '# krypinets ägares id

som är raden som pajar. Du får leta efter orsaken till att inget ID skickas i form/querystring.

Medlem sedan feb. 20032 027 inlägg
#25

@nders skrev:

Då är det alltså:

lUserId = CLng(request("UserId"))   '# krypinets ägares id

som är raden som pajar. Du får leta efter orsaken till att inget ID skickas i form/querystring.

När jag besöker en användare så har jag ex. view.asp?userID=15
användar id-t borde ju fångas upp

Medlem sedan feb. 20032 027 inlägg
#26

WebbisNet skrev:

@nders skrev:

Då är det alltså:

lUserId = CLng(request("UserId"))   '# krypinets ägares id

som är raden som pajar. Du får leta efter orsaken till att inget ID skickas i form/querystring.

När jag besöker en användare så har jag ex. view.asp?userID=15
användar id-t borde ju fångas upp

när jag har <%=Response.Write(Request("userID"))%> i view.asp så ser jag rätt id skrivas ut på skärmen så jag får med krypinets ägares id

Medlem sedan juni 200032 967 inlägg
#27

Och det är i view.asp du gör denna insert?

Medlem sedan feb. 20032 027 inlägg
#28

@nders skrev:

Och det är i view.asp du gör denna insert?

insert into ligger i home.asp eftersom den sida man besöker i view.asp är ju krypinets ägares home.asp

Medlem sedan juni 200032 967 inlägg
#29

Hur transporterar du querystringen till home.asp från view.asp då?

Medlem sedan feb. 20032 027 inlägg
#30

@nders skrev:

Hur transporterar du querystringen till home.asp från view.asp då?

transporterade ingen querystring innan när det funkade vad jag vet. När man besökte en sida view.asp sparades det som det skulle och visades i home.asp

Medlem sedan juni 200032 967 inlägg
#31

Om det är home.asp som gör insert, och du försöker använda request.querystring("userID"), så måste ju den finnas tillgänglig där. (Använder du CLng() / CInt() på ett värde som är odefinierat blir resultatet 0.)

Medlem sedan apr. 2004778 inlägg
#32

Det är view.asp som ska göra INSERT med besökarens ID och home.asp ska göra en SELECT på eget ID.

Medlem sedan feb. 20032 027 inlägg
#33

@nders skrev:

Om det är home.asp som gör insert, och du försöker använda request.querystring("userID"), så måste ju den finnas tillgänglig där. (Använder du CLng() / CInt() på ett värde som är odefinierat blir resultatet 0.)

Så hur ska jag då göra med

lUserId = request("userID")   '# krypinets ägares id
lVisitorId = CLng(session("userID"))   '# besökarens id
if lUserId <> lVisitorId then
'objConn.execute "INSERT INTO tblUsers_visitors (HomeUserId, HomeVisitorId, HomeDateVisited,HomeTimeVisited) VALUES(" & IUserId & "," & lVisitorId & ",#" & date & "#,#" & time & "#)"
'response.write "INSERT INTO tblUsers_visitors (HomeUserId, HomeVisitorId, HomeDateVisited,HomeTimeVisited) VALUES(" & lUserId & "," & lVisitorId & ",#" & date & "#,#" & time & "#)"
end if
Medlem sedan apr. 2004778 inlägg
#34

Det där måste ju ligga i view.asp eftersom det är där besöket sker.
I home.asp ska du ha en SELECT som plockar ut de besök man haft på sin sida.

Medlem sedan feb. 20032 027 inlägg
#35

Hur kan det ha funkat bra innan då?

Medlem sedan apr. 2004778 inlägg
#36

Om det har funkat innan så har du gjort på något annat sätt. Som det är byggt nu så kommer det aldrig att fungera.

Tänk lite nu.
När man besöker någons sida så går man till view.asp eller hur?
När man går till sin egen sida så går man till home.asp eller hur?
Vilken sida bör man göra en INSERT på besöket?

Medlem sedan feb. 20032 027 inlägg
#37

PDahlen skrev:

Om det har funkat innan så har du gjort på något annat sätt. Som det är byggt nu så kommer det aldrig att fungera.

Tänk lite nu.
När man besöker någons sida så går man till view.asp eller hur?
När man går till sin egen sida så går man till home.asp eller hur?
Vilken sida bör man göra en INSERT på besöket?

Varför får jag då HTTP500 Internt Serverfel när jag har den på view?

men lustigt att siffrorna verkar stämma när man skriver ut satsen

HomeUserId, HomeVisitorId, HomeDateVisited,HomeTimeVisited) VALUES(145,1,#2004-10-27#,#11:53:46#)
Medlem sedan juni 200032 967 inlägg
#38

WebbisNet skrev:

Varför får jag då HTTP500 Internt Serverfel när jag har den på view?

Regel nummer ett när man jobbar med webbutveckling: Stäng av "Egna http-felmeddelanden" / "Friendly http error messages" i IE så man får vettiga felmeddelanden.

men lustigt att siffrorna verkar stämma när man skriver ut satsen

HomeUserId, HomeVisitorId, HomeDateVisited,HomeTimeVisited) VALUES(145,1,#2004-10-27#,#11:53:46#)

Är det en utskrift från view.asp alltså?

Medlem sedan apr. 2004778 inlägg
#39

Om du får ett HTTP500 så får du ändra så du får fram det riktiga felmeddelandet så du vet vad det är som blir fel.

Det är inte alls lustigt att siffrorna stämmer om du skriver ut satsen på view.asp det är ju där du har skickat in ett userid.

Jag kan bara gå efter hur din sajt fungerar.
Om jag ska titta på en användare så hamnar jag på t.ex. http://webbisen.com/view.asp?userID=145
Det betyder att jag gör ett besök som skall lagras i databasen. Då måste det självklart också lagras på view.asp annars kommer det ju inte in i databasen. Detta eftersom det är view.asp jag hamnat på INTE home.asp.
home.asp är min egen sida och då är det inget besök som skall lagras i databasen. Däremot så skall de besök som lagrats på min sida visas upp, därför ett SELECT.

Medlem sedan feb. 20032 027 inlägg
#40

@nders skrev:

WebbisNet skrev:

Varför får jag då HTTP500 Internt Serverfel när jag har den på view?

Regel nummer ett när man jobbar med webbutveckling: Stäng av "Egna http-felmeddelanden" / "Friendly http error messages" i IE så man får vettiga felmeddelanden.

men lustigt att siffrorna verkar stämma när man skriver ut satsen

HomeUserId, HomeVisitorId, HomeDateVisited,HomeTimeVisited) VALUES(145,1,#2004-10-27#,#11:53:46#)

Är det en utskrift från view.asp alltså?

utskrift från view ja

syntaxerror i insert-satsen, jag ser inget fel

objConn.execute "INSERT INTO tblUsers_visitors (HomeUserId, HomeVisitorId, HomeDateVisited,HomeTimeVisited) VALUES(" & IUserId & "," & lVisitorId & ",#" & date & "#,#" & time & "#)"
137 ms totalt · 3 externa anrop · v20260731065814-full.b746b907
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)