/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Refresh -> redirect to
Fra : Thomas Møller Nexø


Dato : 29-04-03 17:51

Hej. Har lige et spørgsmål omkring en redirect.
Jeg er ved at lave nogle sider hvor der skal trækkes random
poster fra en database - altså nogle spørgsmål til en quiz. Jeg
vil imidlertid gerne have at brugeren ikke kan refreshe siden og
dermed få de spørgsmål han/hun evt. kan besvare.

Kan man lave det sådan at der automatisk redirectes hvis refresh
bliver brugt?

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Jesper Stocholm (29-04-2003)
Kommentar
Fra : Jesper Stocholm


Dato : 29-04-03 18:05

Thomas Møller Nexø wrote :

> Hej. Har lige et spørgsmål omkring en redirect.
> Jeg er ved at lave nogle sider hvor der skal trækkes random
> poster fra en database - altså nogle spørgsmål til en quiz. Jeg
> vil imidlertid gerne have at brugeren ikke kan refreshe siden og
> dermed få de spørgsmål han/hun evt. kan besvare.
>
> Kan man lave det sådan at der automatisk redirectes hvis refresh
> bliver brugt?

noget i retning af dette burde virke:

på din side med spørgsmålene:

if IsNull(Session("spg_begynd")) then
   'det er første load af siden
   Response.Write "some question"
   Session("spg_begyng") = true
else
   'Der er trykket på refresh
   Response.Redirect("alt.dev.null.asp")
end if



--
Jesper Stocholm - www.stocholm.dk - www.asp-faq.dk
** De andre siger, at han er 16 **
Svar venligst til gruppen og ikke til mig privat !
Skriv under det du svarer på - www.usenet.dk/netikette/citatteknik.html

Thomas Møller Nexø (29-04-2003)
Kommentar
Fra : Thomas Møller Nexø


Dato : 29-04-03 22:17

> if IsNull(Session("spg_begynd")) then
>    'det er første load af siden
>    Response.Write "some question"
>    Session("spg_begyng") = true
> else
>    'Der er trykket på refresh
>    Response.Redirect("alt.dev.null.asp")
> end if
>
>

Tak for svaret Jesper. Jeg er ikke så meget inde i de forskellige
muligheder for at manipulere siderne ud fra server variabler, men tænkte
om dette kunne lade sig gøre.

Eksempel:

If Request.ServerVariables("Refresh") Then
Response.Redirect("start.asp")
End If

Refresh er opdigtet, men tænkte om noget tilsvarende kunne lade sig gøre?
På denne måde kunne jeg så ved hjælp af en include have både en session
validering og denne funktion i toppen af mone sider.

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Markus Bergvoll (30-04-2003)
Kommentar
Fra : Markus Bergvoll


Dato : 30-04-03 02:20


"Thomas Møller Nexø" <thomas@havensupport.dk> wrote in message
news:b8mq4m$fto$1@sunsite.dk...
> > if IsNull(Session("spg_begynd")) then
> > 'det er første load af siden
> > Response.Write "some question"
> > Session("spg_begyng") = true
> > else
> > 'Der er trykket på refresh
> > Response.Redirect("alt.dev.null.asp")
> > end if
> >
> >
>
> Tak for svaret Jesper. Jeg er ikke så meget inde i de forskellige
> muligheder for at manipulere siderne ud fra server variabler, men tænkte
> om dette kunne lade sig gøre.
>
> Eksempel:
>
> If Request.ServerVariables("Refresh") Then
> Response.Redirect("start.asp")
> End If
>

Hei, kan ikke stort om asp, men jeg jeg skyter likevel fra hofta litt her.

http://www.w3schools.com/asp/asp_cookies.asp

Hvis du kan kombinere det eksemplet du finner i ovenstående url, med en

if-then

pseudocode:

check cookie

if cookie.count >0 then
redirect(fusk.asp)

Håper du forstår ideen, selv om jeg ikke kan kode.

mvh
Markus (norsk)














Thomas Møller Nexø (30-04-2003)
Kommentar
Fra : Thomas Møller Nexø


Dato : 30-04-03 09:49

> Hei, kan ikke stort om asp, men jeg jeg skyter likevel fra hofta litt her.
>
> http://www.w3schools.com/asp/asp_cookies.asp
>
> Hvis du kan kombinere det eksemplet du finner i ovenstående url, med en
>
> if-then
>
> pseudocode:
>
> check cookie
>
> if cookie.count >0 then
> redirect(fusk.asp)
>
> Håper du forstår ideen, selv om jeg ikke kan kode.
>
> mvh
> Markus (norsk)

Hej Markus.
Har faktisk selv leget med tanken om at validere med cookies, men dette vil
jo som bekendt udelukke folk der ikke har aktiveret cookies i deres browser.

Man kunne vel egentlig også gøre det med counter variabel, der tælles op hver
gang siden loades kombineret med en if sætning.
Problemet er umiddelbart, at spørgsmålene bliver stillet på den samme side og
derefter gemt i en session variabel så de ikke stilles igen. Jeg tror derfor
ikke jeg kan bruge hverken cookies eller en counter, da det jo er samme side
det hele kører på og at brugeren derfor ville blive "smidt" af efter første
spørgsmål.

Der må da være en "ting" i VBScript ligesom i almindelig HTML hvor man kan
lave et meta name refresh - bare hvor man validerer om brugeren gør det???

Alternativt, kan man ikke lave en expires, der udløber med det samme - altså
så der står at siden er forældet hvis den refreshes?

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jesper Stocholm (30-04-2003)
Kommentar
Fra : Jesper Stocholm


Dato : 30-04-03 09:56

Thomas Møller Nexø <thomas@havensupport.dk> skrev:

>Har faktisk selv leget med tanken om
>at validere med cookies, men dette vil
>jo som bekendt udelukke folk der ikke
>har aktiveret cookies i deres browser.

Husk på, at også sessions er cookies.

>Der må da være en "ting" i VBScript
>ligesom i almindelig HTML hvor man kan
>lave et meta name refresh - bare hvor
>man validerer om brugeren gør det???

Har du prøvet mit forslag - og i givet fald, hvorfor virker det
ikke ? Det er en ganske normal måde at undgå at folk indsætter de
samme data flere gange ved at klikke Refresh i deres browser.

Inden indsættelse checkes der om en bestemt session findes. Hvis
det ikke er tilfældet, så sættes ind og der sættes en session-
variabel. Ellers redirectes brugeren til en "skæld-ud"-side.

>Alternativt, kan man ikke lave en
>expires, der udløber med det samme - altså
>så der står at siden er forældet hvis
>den refreshes?

Det kan du godt ... men det forhindrer ikke dine brugere i at
kunne klikke på refresh og poste data til dig igen.

--
* Jesper Stocholm *
* http://stocholm.dk *
* Svar til gruppen og ikke til mig privat ! *
* Hvor svært kan det være ? *


Jonas Schmeltz Aaber~ (01-05-2003)
Kommentar
Fra : Jonas Schmeltz Aaber~


Dato : 01-05-03 19:13

Kan du ikke lave noget med nogle FORM-værdier, der skal sendes?

Eks.
<% If Request.Form("access") <> "OK" OR Request.Form("detteSpsm") =
Request.Form("forrigeSpsm") Then
Response.Redirect "fusk.asp"
End If %>

...

<form action="<%= Request.Servervariables("SCRIPT_NAME") %>" method="post">
<input type="hidden" name="access" value="OK">
<input type="hidden" name="detteSpsm" value="<%= strQuestionId %>">
<input type="hidden" name="forrigeSpsm" value="<%= Request.Form("detteSpsm")
%>">
<input type="submit" value="Næste">
</form>


Tror du ikke, at det kan lade sig gøre at modificere lidt hist og her, og så få
det til at virke?!

Jonas

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Thomas Møller Nexø (03-05-2003)
Kommentar
Fra : Thomas Møller Nexø


Dato : 03-05-03 14:42

Jonas Schmeltz Aaberg wrote in dk.edb.internet.webdesign.serverside.asp:
> Kan du ikke lave noget med nogle FORM-værdier, der skal sendes?
>
> Eks.
> <% If Request.Form("access") <> "OK" OR Request.Form("detteSpsm") =
&gt; Request.Form("forrigeSpsm") Then
&gt; Response.Redirect "fusk.asp"
&gt; End If %>

Problemet er at spørgsmålene stilles i random rækkefølge - dem der allerede er
besvaret gemmes i en session variabel - og vises dynamisk med spørgsmål og
svarmuligheder i en form.

Man kan altså ikke få det samme spørgsmål to gange, men kan desværre refreshe
siden og dermed selv vælge hvilket af de ikke-besvarede spørgsmål man vil svare
på.

Da dette jo vil give brugeren mulighed for selv at vælge hvilke spørgsmål han vil
besvare (altså dem han/hun finder nemmest) vil det ikke give et rigtigt billede af
den samlede besvarelse for alle brugere. Altså med andre ord, dem der kender en
smule til teknikken vil score mange point, mens andre måske ikke vil score særlig
mange selv om disse brugere måske ved langt mere end de andre

Måske er den eneste mulighed i virkeligheden at gøre dette med et frameset, hvor
siden automatisk tvinges ind i rammen, eller ved hjælp af et javascript der laver
en "detection" på om brugeren laver en refresh og derefter forwarder til en
snyd.asp?

Mange tak til alle jer, der har kommet med forslag.
Jeg håbede på at dette kunne laves med en indbygget funktion af en art, men det
ser ud til at jeg må gå andre veje.

Med venlig hilsen
Thomas

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408935
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste