Avatar billede baitianlong Nybegynder
25. juni 2004 - 13:17 Der er 10 kommentarer og
3 løsninger

Hurtig klik på knap giver flere entries i databasen

Det er nok et kendt problem, men hvordan løser man det.

Altså, jeg har lavet en lille simpel gæstebog, men hvis man kliker helt vildt på "gem" bliver ens besked gemt tre-fire gange, inden siden skifter... Det er ikke så godt

:)
Avatar billede jakobdo Ekspert
25. juni 2004 - 13:36 #1
Måske det kunne klares med noget Javascript?

Jeg er ikke en haj, men blot en tanke...
trykked = false

function Knap_trykkes()
{
if (trykked = false)
trykked = true
gør hvad der nu skal gøres...
else
msgbox('Du har trykket en gang, vent venligst')
}
Avatar billede baitianlong Nybegynder
25. juni 2004 - 13:45 #2
Det synes jeg nu ikke er så smukt. Jeg vil hellere løse det med php, eller v.hj.a mySql databasen. Der må være en fin måde at gøre det på. Måske noget med unik på tidspunktet, eller noget...
Avatar billede terrak Nybegynder
25. juni 2004 - 13:52 #3
Hvorfor gør du ikke bare som du selv siger? - unikt tidspunkt? Med mindre du altså tæller millisekunder.
Avatar billede baitianlong Nybegynder
25. juni 2004 - 14:09 #4
Det prøvede jeg lige. Og det er halv-godt. Den skriver bare stadig to gange da sekunderne når at skifte
Avatar billede baitianlong Nybegynder
25. juni 2004 - 14:10 #5
Jeg bruger date("r");
Avatar billede baitianlong Nybegynder
25. juni 2004 - 14:15 #6
Måske kunne jeg pille sekunderne fra ved at substringe til sidste kolon i datoen. Hvordan ??
Avatar billede baitianlong Nybegynder
25. juni 2004 - 14:38 #7
Jeg har fikset den ved at droppe sekunderne og sætte min egen dato sammen. I må gerne begge to smide et svar, så deler vi pointsne. Det tror jeg er mest fair :)
Avatar billede jakobdo Ekspert
25. juni 2004 - 14:41 #8
Svar...
Avatar billede jakobdo Ekspert
25. juni 2004 - 14:41 #9
Den var for svær til mig her på en fredag!
Svar...
Avatar billede terrak Nybegynder
25. juni 2004 - 14:42 #10
Okay så..

De gange jeg har haft brug for det, har jeg knyttet time() sammen med en IP adresse, hvorefter jeg har sat hvad forskellen mindst må være, på den tilknyttede time(), og den nuværende.
Avatar billede baitianlong Nybegynder
25. juni 2004 - 14:49 #11
Jeg havde tænkt på noget med ip adressen. Men nu må det være fint. Der er dog ikke to der kan skrive i gæstebogen indenfor samme minut, men hva' fa'n... :)
Avatar billede terrak Nybegynder
25. juni 2004 - 14:51 #12
Hovhov, så bliver du da nødt til også at sammenligne med ip adressen, eller smide en cookie med dato oplysninger - det ville nok være smartere.
Avatar billede jakobdo Ekspert
25. juni 2004 - 15:11 #13
Smart, 16,67 * 3 = 50,01 og du har kun betalt 50!

(hvis man skal på top 10, skal man altså bare lave 2 fiktive brugere...)
Så opretter man sit eget spørgsmål (50 point), så lægger de 2 fiktive brugere deres svar...
Man deler points mellem alle 3!
Så laver de 2 fiktive personer et spørgsmål til 16,67 og her svarer man selv og får de 16,67 point tilbage!

Og vupti, så har man lige scoret: 0,01 point!

En billiard af dem, så er man mester! :o)

(Jeg har for meget tid)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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