Avatar billede fuxi Nybegynder
31. marts 2003 - 19:45 Der er 8 kommentarer og
2 løsninger

Formular problemer... hvordan undgår jeg at oprette flere gange

Har oprettet dette spørgsmål et andet sted, men pga. dårlig titel lukker jeg den lige.... og prøver igen.


Jeg har en formular der kalder en anden side som så gemmer indholdet i en database. Den side der bliver kaldt vil også vise noget tekst. Problemet er hvis man trykker refresh vil tingene blive oprettet igen. Er der ikke en nem måde at undgå det på...

FORMULAREN
<form action="opret.asp" method="post">
  <input type="text" name="username">
  <input type="password" name="password">
  <input type="submit" name="gem">
</form>

OPRET FILEN
Et eller andet asp der gemmer dataen i databasen
En eller anden tekst der fortæller at man nu er oprettet
????
Avatar billede ahv Nybegynder
31. marts 2003 - 19:48 #1
Ved ikke hvordan man sender videre i ASP, kun PHP, men det hjælper dig jo ikke ;o)

Så vi kan lave en løsning via Javascript, når du har sat det hele ind i databasen redirecter du simpelt brugeren til siden med:

<script>location.href="opret.asp"</script>

Så kommer man ind på opret.asp via formen og bliver så sendt til den igen, på denne måde for du den til at glemme de indtastede dataer.
Avatar billede no_doubt Nybegynder
31. marts 2003 - 19:49 #2
kør en løkke på brugernavnene.
Avatar billede ahv Nybegynder
31. marts 2003 - 19:50 #3
Den sidste sætning var ikke så god.

Du bliver sendt til opret.asp via formen, når alt så er udført redirecter du med mit script til opret.asp. på den måde sender du brugeren fra opret.asp til opret.asp og det indtastede data er nu glemt.
Avatar billede no_doubt Nybegynder
31. marts 2003 - 19:52 #4
Avatar billede fuxi Nybegynder
31. marts 2003 - 20:05 #5
Hmm indtil nu er ahvs svar det bedste men er der ikke en bedre måde.. Problemet er at det jo ikke kun er brugere der skal oprettes på siden. Jeg har en admin side der er større end stor, men jeg mangler at få løst det lille problem før jeg kan gå live med noget.

Umiddelbart syntes jeg jo der burde være en eller anden måde der kan sikre at ens formular indhold udløber. Så den ikke kan oprette det igen...
Avatar billede ahv Nybegynder
31. marts 2003 - 20:09 #6
fuxi >> Samt sagt kan jeg ikke hjælpe dig med ren kode da jeg er PHP-mand, men jeg kan give dig nogle ideer hvis du så selv kan lave koden ;o)

Hvis du ellers tjekker om man overhovedet har indtastet noget i formen før den indsætter kan du så ikke nederst på side sætte alle formens dataer lig med ingen ting?
Avatar billede mm12010 Nybegynder
31. marts 2003 - 20:17 #7
response.redirect opret.asp & "mode=oprettet"

If Request("mode") = "oprettet" Then
  'En eller anden tekst der fortæller at man nu er oprettet
Else
  'Et eller andet asp der gemmer dataen i databasen
End If
Avatar billede excession Nybegynder
01. april 2003 - 10:55 #8
i opret.asp kan du bare checke om der blev trykket på submit knappen..

IF request.form("gem") <> "" THEN
...
....

END IF
Avatar billede fuxi Nybegynder
08. april 2003 - 09:09 #9
Ok jeg må hellere få lukket den...
Jeg syntes nu ikke der har været nogen super løsning på det, men det er der jo sikkert ikke :O)
Så jeg fordeler lige pointene
Avatar billede mm12010 Nybegynder
08. april 2003 - 09:18 #10
takker :o)
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