06. februar 2002 - 08:40Der er
5 kommentarer og 3 løsninger
Formular + cache + "Tilbage-knap"
Når en bruger har gennemført en formular, hvordan undgår jeg så at vedkommende kan gå tilbage og submitte oplysningerne igen?
Mit formularsystem er som følgende: 1. Indtastningsfelter 2. Bekræftelsesside 3. Formular gennemført-side
Da oplysningerne først indsættes i databasen på "side 3" - gemmer jeg oplysningerne fra indtastningsfelterne i sessions når brugeren kommer til "side 2". På "side 3" indsætter jeg værdierne fra mine sessions i databasen, hvorefter jeg sletter værdierne i sessions.
Det skal gerne være sådan at, hvis brugeren trykker tilbage(på "side 3") - så bliver vedkommende sendt til "side 1".
AI bliver først for alvor en del af arbejdet, når teknologien integreres i den måde, vi arbejder på. At have adgang til AI betyder ikke nødvendigvis, at medarbejderne er klar til at bruge den.
Så kan du sætte et fejl=nej bag på din action i din <FORM> på den første side... Så der står noget i retningen af: <FORM ACTION="Bekræftelsesside.asp?fejl=nej">
Og så på Bekræftelsesside.asp sætter du dette ind i toppen: If NOT Request.QueryString("fejl") = "nej" then Response.Redirect "side1.asp" End If
Så Redirecter den til side et med mindre der skriver Bekræftelsesside.asp?fejl=nej !! Så enkelt kan det være....!!
du kan oprette endnu en session som holder styr på på hvilken siden brugeren befinder sig. Når så brugeren kommer til side 2 og denne session er sat til 3 så laver du en response.redirect til side 1. Nemt :)
Som du selv er inde på så reloades siden ikke nødvendigvis når brugeren trykker tilbage. Derfor er du nødt til at gøre ligesom freedom siger. Lav et check for om det allerede er sat ind i databasen. Det kan evt. gøres således:
På side 1 sættes Session("UpdateID") = "" På side 3 sættes Session("UpdateID") = ID-nummer på indsat post.
Kontrollen skal så gennemføres på side 3: if Session("UpdateID") = "" then ' Ok - ikke sat ind endnu. else ' Fejl: Dataene er sendt en gang. end if
Men dvs. at "handlingen" først sker når brugeren på "ny" prøver at submitte. I stedet skulle det gerne være når brugeren kommer "tilbage" til side 2, at vedkommende skulle sendes til start (side 1).
Hvordan gøres det?
Synes godt om
Ny brugerNybegynder
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.