webForumDet fria alternativet

Hur täppa till bakåt?

ASP

3 svar · 292 visningar · startad av thisseman

Medlem sedan apr. 200022 inlägg
Frågan#1

Utöver "vanlig" koll av id och lösenord mot databasen, kollas även när registrering skedde, om det gått 30 dagar sedan dess, skickas man till sidan okbet.asp där bekräftelse via checkbox och submit bekräftas fortsatt medlemskap.
Jag använder session("ID") för att spara värden från request.form("ID").
Problemet är följande:
Om man låter bli att bekräfta utan istället använder backpilen i webbläsaren så kommer användaren åt alla sidorna ändå, eftersom session("ID")finns på alla sidor.
Har tänkt mig följande lösning på sidan okbet.asp
DBpath ="DBQ=" & Server.MapPath("/Database/forum.mdb")
Set GTL=Server.CreateObject("ADODB.Connection")
GTL.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath
%>

<!-- #INCLUDE FILE="ADOVBS.inc" -->
<%

Set rsUser = Server.CreateObject("ADODB.RecordSet")
GTL = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/Database/forum.mdb")
SQL = "Select * From printers Where IDuser='" & request.Form("betuser") & "'"
rsUser.Open SQL, GTL, 1, 2
if rsUser.EOF then
response.write "Fel"
response.end
%>
<%
Else
PUS=request.form("betuser")
response.write PUS

if kryssrutaJaTack="True" then
rsUser("betalande")="True"
rsUser("regbetalande")= now()
session("PUsername")=PUS
end if
if request.Form("kryssrutaJaTack")="False" then
rsUser("betalande")="False"
session("PUsername")=" "
end if

if rsUser("betalande")="True" then
response.Write " Tack ännu en betalande tryckare"
Else
response.Write " Du vet inte vad du går miste om"
end if

men det funkar ju inte?!
Hur skall jag göra
GT

------------------
Göran T

Medlem sedan mars 20002 836 inlägg
#2

Hello,

varför inte lägga Request.Form("ID") först i en cookie. Sedan när besökaren/medlemen har bekräftat, sätt då Session("ID").

Vad får du för felmeddelande av koden ovan?

Och en sista sak:
Sök i ASP-forumet efter: Response.Expires

du får en del träffar om "cachning" av sidorna och hur du kan "stänga" av den =P

cya,

------------------
'*********************
Response.Write("PatrikB")
Response.End
'*********************

[Redigerat av PatrikB den 30 nov 2000]

Medlem sedan apr. 200022 inlägg
#3

PatrikB!
Jag får inget felmeddelande, problemet är att man kan backa och komma åt sidorna den vägen.
Om medlemmem bekräftar med kryssrutan skall han ha till gång till alla sidor!
GT

------------------
Göran T

Medlem sedan mars 20002 836 inlägg
#4

OK,

gör då som jag sa ovan.

cya

------------------
'*********************
Response.Write("PatrikB")
Response.End
'*********************

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