Avatar billede peterpeter Seniormester
26. februar 2004 - 16:37 Der er 20 kommentarer og
1 løsning

Fjerne muligheden for "reload" af siden i mit skrabespil

Hej Alle
Jeg har tidligere brændt efter at få lavet/finde, et Skrabespilsscript.
Det er ikke lykkedes, så nu har jeg prøvet at lave mit eget. Baseret på: http://java.arcadevillage.com/applets/scratch.htm
Det går også meget godt, men jeg har dog lidt problemer.

Jeg har min ASP side med mit skrabespil, hvor jeg registrerer via db hvormange gange folk har prøvet. Efter 3 gange kan de ikke prøve mere den dag.

Det fungerer også fint nok, men hvordan sikrer jeg mig, at man ikke kan trykke på F5 for at genloade selve java appletten ?? (spm. 1)

Og hvad kan man gøre, så folk ikke bare trykker på "tilbage" knappen, for at prøve igen ??

TAK

PS: Blev det lidt kryptisk....Så sig lige til.
(Jeg har selvfølgelig <%response.expires = 0%> i toppen)
Avatar billede powell Nybegynder
26. februar 2004 - 16:51 #1
Hvorfor ikke lade dit check om folk har prøvet tre gange blive udvidet således at, når siden loades checkes de før de køres igennem dit javascript.

Det første der skal køres et et check om de overhovedet har "tilladelse" til at prøve igen, hvis ja så hent dit javascript ind med scrapelod på, hvis nej, så hent andet script hvor de ikke kan scrappe længere.


Herved kan du lade det tælle som et forsøg på scrap hvis siden enten genloades eller man hopper tilbage.
Avatar billede powell Nybegynder
26. februar 2004 - 16:52 #2
scrab er den lyd det siges når man skrabber ???
Avatar billede peterpeter Seniormester
26. februar 2004 - 16:52 #3
Ja, det lyder som en rigtig god ide !!!

Kan du hjælpe lidt mere ??
Avatar billede powell Nybegynder
26. februar 2004 - 16:54 #4
hmmmm! hvad præcist vil du havde hjælp til. Du har jo labvet det hele?

Fortæl hvordan dit skrabbelod virker, er det noget folk skal logge sig på?
Avatar billede peterpeter Seniormester
26. februar 2004 - 16:58 #5
-Nej, ikke noget med at logge på...

Jamen, jeg syntes egentlig jeg kontrolerer ordentligt, men prøv lige at se:
(Jeg vedlægger lige ASP filen herunder)

Kan du vise hvad du mente helt præcist ??

<%response.expires = 0%>

<%
response.buffer = true

ipnr = request.servervariables("remote_host")
reg = request.querystring("reg")

sti = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & server.mappath("../db/adgkontr.mdb")

Set conn = Server.CreateObject("ADODB.Connection")
conn.Open sti   
Set rs = CreateObject("ADODB.Recordset")
    if reg = "alt" then
        rs.open "select * from tael order by stemp desc", conn, 3, 3
    else
        rs.open "select * from tael where ipnr = '"&ipnr&"' and datevalue(stemp) = datevalue(date()) order by stemp desc", conn, 3, 3
    end if   
poster = rs.recordcount

if poster > 2 and reg <> "alt" then
    response.redirect ("../taber/ikkeflere.htm")
end if

if reg = "vis" then
    sql = "insert into tael (ipnr, stemp) values ( '" & ipnr & "', '" & now & "' )"
    conn.execute(sql)
    response.redirect("kontrol.asp")
end if

response.write "<div style='font-size: 14; color: red; font-weight: bold;'>Skrabespil</div><hr size=1px>"

tilb = (3 - poster)

if tilb = 3 then response.write "Du har 3 forsøg"
if tilb = 2 then response.write "Nu har du 2 forsøg tilbage !"
if tilb = 1 then response.write "Dette er dit sidste forsøg"

%>
<html>
<head>

<title>Skrabespil</title>
<link rel="stylesheet" type="text/css" href="../css/std.css">
<base target="_top">
</head>
<body>
<%

conn.close
set conn = nothing
%>
<!-- Her starter selve sandsynlighedsdelen -->
<%
'Angiver sandsynligheden for at vinde, 0.5 = 50 procent
vind = 0.5
'Aktivere randomize
Randomize Timer
'Vælg et randomtal
tal = Rnd()
%>
<!-- Her slutter selve sandsynlighedsdelen -->   


<!-- Her starter selve skrabepladen -->   
<hr><br>
<center>
SKRABESPIL
<br><br>
<applet
    code=grattmoi.class
    id=grattmoi
    width=130
    height=170>
<% if tal > vind then %>
<param name="background" value="./taber.gif">
<% else %>
<param name="background" value="./vinder.gif">
<% end if %>
<param name="foreground" value="./bkgrn1.gif">
<param name="target" value="_parent">
<% if tal > vind then %>
<param name="URL" value="../taber/taber.htm">
<% else %>
<param name="URL" value="../vinder/vinder.htm">
<% end if %>
<param name="border" value="10">
</applet>
</center>

</body>
</html>
Avatar billede powell Nybegynder
26. februar 2004 - 17:03 #6
Kikker på det lidt senere, læg evt din e-mail eller msn, eller noget så jeg nemt kan få fat i dig, så lægger vi et svar ud her til sidst så alle kan se hvordan det skal gøres.
Avatar billede peterpeter Seniormester
26. februar 2004 - 17:06 #7
Mange tak. Sidder pt. kun ved browser, er ikke kommet hjem endnu...  ;-)

Men jeg holder siden her åbnet....i tilfælde af dit eller andres svar.

Tak Tak
Avatar billede peterpeter Seniormester
26. februar 2004 - 23:13 #8
Der skulle vel ikke være andre, der havde en løsning ??
Avatar billede powell Nybegynder
27. februar 2004 - 08:22 #9
Hvad ligger der i databasen?
Avatar billede peterpeter Seniormester
27. februar 2004 - 09:51 #10
Tak for dit svar.
Jamen, databasen gemmer blot ip-nummer samt dato+klokkeslet
- Jeg forstår ikke lige, hvad betyder det ??
Avatar billede powell Nybegynder
27. februar 2004 - 10:52 #11
Gemmer du IP nummer for at holde øje med hvor mange forsøg en bruger har benyttet? Eller er det for at se hvem der benytter sig og hvor ofte de benytter sig af dine side?
Avatar billede peterpeter Seniormester
27. februar 2004 - 11:02 #12
Jeg gemmer IP nummeret, således at folk kun kan skrabe tre gange om dagen. (Altså IP-nummeret kun kan skrabe tre gange om dagen !!)
Avatar billede peterpeter Seniormester
27. februar 2004 - 11:03 #13
Det mener jeg, er den mest sikre metode til at forebygge snyd.....  ;-)
Avatar billede powell Nybegynder
27. februar 2004 - 11:11 #14
OK - sender du mig din database, så vil jeg kikke lidt på en god mulighed for at bygge en "checker"-ind i starten af din rutine.

E-mail: poul.jorgensen at viterra-es.dk
Avatar billede peterpeter Seniormester
27. februar 2004 - 11:27 #15
Tak - Jeg må lige oprette en Hotmail, da jeg arbejder et sted uden mail, men kun en "stand alone" internet pc.
Tak - Jeg sender.
Avatar billede powell Nybegynder
27. februar 2004 - 11:31 #16
Tag dig endelig tid, er selv på arbejde lige nu, og kan naturligvis først kikke nærmere på noget kode noget når jeg kommer hjem.
Avatar billede powell Nybegynder
27. februar 2004 - 17:39 #17
I dit start script ville jeg i toppen lægge dette kald:
<!-- #include file="script/CheckSkrabBruger.asp" -->

og så gem nedenstående i en fil kaldet CheckSkrabBruger.asp

<% OPTION EXPLICIT %>
<%
'Kontroller bruger i database maa ikke vaerre der mere end tre gange

Dim strConnect
strConnect = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & server.mappath("../db/adgkontr.mdb")

response.buffer = true

'Henter IP
Dim strIPnr
strIPnr = Request.ServerVariables("remote_host")

'Check antal gange bruger har vaeret paa
Dim strSQL_string, strSQL_GemIP
strSQL_string = "SELECT * FROM tael WHERE ipnr = '" & strIPnr & "'"
strSQL_GemIP = "INSERT INTO tael (ipnr) VALUES ('" & strIPnr & "')"

'Aabner db
Dim objDB
Dim objRS

Set objDB = Server.CreateObject("ADODB.Connection")
objDB.Open strConnect

Set objRS = CreateObject("ADODB.Recordset")
objRS.Open strSQL_string, objDB, 3, 3

'Check antal recordset
If objRS.RecordCount > 2 Then
    Response.Redirect "www.Jubii.dk"
Else
    'Gem IPnr i db
    objDB.Execute(strSQL_GemIP)
    Response.Redirect "../spil/kontrol.asp"
End If
%>

Scriptet gør det meget nemmere for dig at checke om der er snyd med i billedet.

Hver gang scriptet køres gemmes ens IP adresse i databasen. Medmindre man allerede har sin IP liggende i databasen tre gange i forvejen, så sendes man videre til Jubii.

Det vil sige reloader man siden tre gange tælles det som et skrab forsøg.

Du kan sikkert nemt tilføje en dato, således man dagen efter igen har chancen.
Avatar billede powell Nybegynder
27. februar 2004 - 17:41 #18
Man burde sefølgelig inden man sender brugeren videre lige ryddde op.

objRS.Close
objDB.Close
Set objDB = Nothing
Set objRS = Nothing
Avatar billede powell Nybegynder
27. februar 2004 - 17:45 #19
Du skal naturligvis ændre din kode i Kontrol.asp da du nu hurtigt kan se hvormange forsøg vedkomne har benyttet. Du skal køre ovenstående check i din Kontrol kode, så istedet for at redirectes kan du sætte din kode ind der.
Avatar billede peterpeter Seniormester
27. februar 2004 - 22:14 #20
Godaften powell
Det funger ikke rigtigt.......
Er du på her til aften ??
Avatar billede peterpeter Seniormester
04. januar 2011 - 12:35 #21
Jeg er ved at ryde op....og har lige fundet dette spørgsmål, jeg aldrig har fået afsluttet.
Jeg lukker det nu.
Skulle nogen føle sig forbigået, så giv mig et praj - jeg er på ingen måde nærig med mine optjente point.
;-)
/Peter
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