webForumDet fria alternativet

Uppdatera antal besök vid inloggning

ASP

6 svar · 238 visningar · startad av Galifante

Medlem sedan sep. 200246 inlägg
Frågan#1

Jag har en db med ett fält som heter besok, tabellen heter medlem. På index-sidan ska man logga in och då kommer man till sidan passkoll.asp. Där kollas användarnamn och lösenord mot uppgifterna i db. Är nått av detta fel så omdirigeras man till en annan sajt. Så långt funkar allt bra. Men hur gör jag för att uppdatera besöksräknaren????

Så här ser koden ut:

Dim SQL, username, pass
username = Request.Form("user")
pass = Request.Form("pass")

Set MinCon = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
MinCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("scrapsnpieces.mdb")&""
SQL = "SELECT pass FROM medlem WHERE user='"& username &"'"
rs.Open SQL, MinCon

if rs.EOF Then
   rs.Close
   minCon.Close
   Set minCon = nothing
   Set rs = nothing
   Response.redirect "http://www.expressen.se"
else
   if rs("pass")<>pass Then
   rs.Close
   minCon.Close
  Set minCon = nothing
  Set rs = nothing
  Response.redirect "http://www.aftonbladet.se"
else
  [B]rs.Close
  minCon.Close
  Set rs = nothing
  Set minCon = nothing

  Set minCon = Server.CreateObject("ADODB.Connection")
  Set rs= Server.CreateObject("ADODB.Recordset")
  minCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("scrapsnpieces.mdb")&""
  sql2 = "SELECT * FROM medlem WHERE user='"& username &"'"
  rs.Open sql2, minCon, 1,2
  rs.AddNew
  rs("besok") = Session("besok") + 1
  rs.Update
  rs.Close
  minCon.Close
  Set minCon = nothing
  Set rs = nothing

Set MinCon = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
MinCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("scrapsnpieces.mdb")&""
SQL = "SELECT pass FROM medlem WHERE user='"& username &"'"
rs.Open SQL, MinCon[/B]
Response.redirect "next.asp"
%>

<html>
<head>
<title>Password-koll: Scraps'n'pieces</title>
</head>
<body>
</body>

<%
end if
end if
rs.Close
minCon.Close
Set rs = nothing
Set minCon = nothing
%>
</html>

Det är det som är markerat emd fetstil som jag inte får att funka....

Hjälp, någon???? :OO :q :OO

Medlem sedan feb. 200112 078 inlägg
#2

Ditt första elseif verkar ha halkat isär. Det måste vara 'elseif', det går inte att ha fler 'else' efter varandra.

Sen behöver du inte stänga och öppna din connection igen, bara för att göra ett nytt recodset, du kan köra den direkt på det gamla connection-objektet.

Medlem sedan sep. 200246 inlägg
#3

OveRRidE skrev:

Ditt första elseif verkar ha halkat isär. Det måste vara 'elseif', det går inte att ha fler 'else' efter varandra.

Det ska vara:
if alternativ 1
kod
omdirigering 1
else alternativ 2
kod alternativ a
omdirigering 2
kod alternativ b
omdirigering till rätt sida
slut på if-satsen till alternativ 2
slut på if-satsen till alternativ 1

Funkar inte detta då? Det är ju på olika "nivåer"... :q Det har ju funkat förrut. Säger jag som är alldeles ny & förvirrad på detta ännu....

Sen behöver du inte stänga och öppna din connection igen, bara för att göra ett nytt recodset, du kan köra den direkt på det gamla connection-objektet.

Fast det är olika SQL-satser? :q :q Hur gör jag det då på enklaste sätt?

Några tips på hur jag får räknaren att räkna upp för varje individuellt besök?

Medlem sedan sep. 200246 inlägg
#4

Inga förslag?

Ingen som kan hjälpa mej med hur jag ska få räknaren att funka? :( :q :( :x

Medlem sedan juni 20003 076 inlägg
#5

Så nånting borde funka.
Varför skapar du ett till recordset innan du skickar till next.asp?

<%
Dim SQL, MinCon, rs, username, pass
username = Request.Form("user")
pass = Request.Form("pass")

Set MinCon = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
MinCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("scrapsnpieces.mdb")&""
SQL = "SELECT pass FROM medlem WHERE user='"& username &"'"
rs.Open SQL, MinCon

if rs.EOF Then
   rs.Close
   minCon.Close
   Set minCon = nothing
   Set rs = nothing
   Response.redirect "http://www.expressen.se"
else
   if rs("pass")<>pass Then
       rs.Close
       minCon.Close
       Set minCon = nothing
       Set rs = nothing
       Response.redirect "http://www.aftonbladet.se"
   else
       rs.Close
       Set rs = nothing

       MinCon.execute("Update medlem Set besok = besok+1 WHERE user='"& username &"'")
'-----------------------------------------------------
		SQL = "SELECT pass FROM medlem WHERE user='"& username &"'"
		rs.Open SQL, MinCon
		rs.Close
		Set rs = nothing
'-----------------------------------------------------
        minCon.Close
        Set minCon = nothing
        Response.redirect "next.asp"
    end if
end if
%>
Medlem sedan mars 20021 889 inlägg
#6
SQLsträngen = "UPDATE [namnet på din tabell] SET [namnet på 
kolumnen med räknaren] = [namnet på kolumnen med räknaren] 
+ 1 Where Username(eller vad du kallar den kolumnen) 
= "&Request.Form("namnet på formuläret där besökaren skrivit in 
sitt användarnamn")

Mer konkret exempel:
strSQL = "UPDATE medlemmar SET countin = countin + 1 Where 
Username = "&Request.Form("username")

:)

Medlem sedan sep. 200246 inlägg
#7

Det funkar!

*dansar runt och sjunger högt och falskt*

Tusen tack killar! Nu funkar det!!!! :e TACK SÅ HEMSKT MYCKET!!! Ni är bara bäst, vet ni det? :bire :bire

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