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

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Submit må kun virke en gang
Fra : Aagaard


Dato : 30-06-03 20:54

Kan det med php (eller måske andre muligheder) lade sig gøre at lave Submit
i en form sådan at man kun kan trykke en gang, hvorefter Submit ikke kan
aktiveres igen?

Jeg en del sider hvor man via en form indsender en bestilling. Der står
naturligvis at man ikke må trykke mere end en gang på Submit, men... der er
der alligevel nogle der gør, for de har ikke tålmodighed til at vente op til
3-5 sekunder på at formen er evalueret og de kommer til en 'Tal for ..."
side.

Mvh.
Aagaard




 
 
Bjarne (30-06-2003)
Kommentar
Fra : Bjarne


Dato : 30-06-03 21:06

On Mon, 30 Jun 2003 21:54:05 +0200
"Aagaard" <skriv-ikke@til.dk> wrote:

> Kan det med php (eller måske andre muligheder) lade sig gøre at lave
> Submit i en form sådan at man kun kan trykke en gang, hvorefter Submit
> ikke kan aktiveres igen?
>
> Jeg en del sider hvor man via en form indsender en bestilling. Der
> står naturligvis at man ikke må trykke mere end en gang på Submit,
> men... der er der alligevel nogle der gør, for de har ikke tålmodighed
> til at vente op til 3-5 sekunder på at formen er evalueret og de
> kommer til en 'Tal for ..." side.


Man kunne jo nok godt lave noget javascript, der disabler knappen når
der er blevet trykket på den. Det kan de sikkert hjælpe med i clientside
gruppen.

Jeg ville dog i stedet vælge at lade PHP sortere data fra, som allerede
er blevet behandlet. Hvordan det kan gøres, afhænger af resten af
koden...

- Bjarne

Aagaard (30-06-2003)
Kommentar
Fra : Aagaard


Dato : 30-06-03 21:19

> Man kunne jo nok godt lave noget javascript, der disabler knappen når
> der er blevet trykket på den. Det kan de sikkert hjælpe med i clientside
> gruppen.
>
> Jeg ville dog i stedet vælge at lade PHP sortere data fra, som allerede
> er blevet behandlet. Hvordan det kan gøres, afhænger af resten af
> koden...
>
> - Bjarne

Data sendes direkte fra siden via en php mailform til leverandør, samt en
kopi til kunden, hvis der er opgivet en e-mail adresse, hvis validering af
data godkendes.

Måske kunne en løsning være, at lade data gå til en side, hvor de validerede
data kan ses - og godkendes. Dermed burde det vel virke hurtigere, når der
ikke skal valideres data. Samtidig kan der indbygges et check for at data
ikke sendes 2 eller flere gange.

Clientside script vil jeg ikke forlade mig på.

Mvh.
Aagaard




Lars Dybdahl (30-06-2003)
Kommentar
Fra : Lars Dybdahl


Dato : 30-06-03 21:15

Aagaard wrote:
> i en form sådan at man kun kan trykke en gang, hvorefter Submit ikke kan
> aktiveres igen?

Læg et serienummer ind i formularen, når den leveres til brugeren. Sørg
derefter for, at dine php-scripts ved modtagelse af to submits med samme
serienummer kun foretager en styks bestilling. Efter modtagelse af en
submit, uanset om det er første eller anden gang, kan du f.eks. vise
bestillingen en gang til som bekræftelse, som så bare skal godkendes. På
den måde bliver brugeren ikke forvirret, hvis han/hun kommer til at trykke
to gange.

Lars.

--
Freelance programmør
Programmering mod timebetaling

Aagaard (30-06-2003)
Kommentar
Fra : Aagaard


Dato : 30-06-03 21:24

"Lars Dybdahl" <lars@dybdahl.net> skrev:
> > i en form sådan at man kun kan trykke en gang, hvorefter Submit ikke kan
> > aktiveres igen?
>
> Læg et serienummer ind i formularen, når den leveres til brugeren. Sørg
> derefter for, at dine php-scripts ved modtagelse af to submits med samme
> serienummer kun foretager en styks bestilling. Efter modtagelse af en
> submit, uanset om det er første eller anden gang, kan du f.eks. vise
> bestillingen en gang til som bekræftelse, som så bare skal godkendes. På
> den måde bliver brugeren ikke forvirret, hvis han/hun kommer til at trykke
> to gange.
>
> Lars.
>
Jeg har serienummer på, men når der trykkes på submit 2 gange, tildeles to
på hinanden følgende serienumre.
Din ide med at vise bestillingen på en side, som så blot skal bekræftes, sad
jeg netop og skrev som svar til Bjarnes indlæg, og det bliver nok løsningen.

Mvh.
Aagaard



Henrik Stidsen (30-06-2003)
Kommentar
Fra : Henrik Stidsen


Dato : 30-06-03 22:12

"Aagaard" <skriv-ikke@til.dk> wrote in
news:bdq692$ncm$1@news.cybercity.dk

> Jeg har serienummer på, men når der trykkes på submit 2 gange,
> tildeles to på hinanden følgende serienumre.
> Din ide med at vise bestillingen på en side, som så blot skal
> bekræftes, sad jeg netop og skrev som svar til Bjarnes indlæg,
> og det bliver nok løsningen.

Kan du ikke genere serienummeret en side før ?

--
..: Henrik Stidsen - http://hs235.dk/ - http://hs235.dk/blog/ ::...
"Is everyone else in the world a moron, or is it just me?"
(Dilbert Newsletter)

Aagaard (30-06-2003)
Kommentar
Fra : Aagaard


Dato : 30-06-03 22:22

"Henrik Stidsen" <idontwantnospam@hs235.dk> skrev:
>
> > Jeg har serienummer på, men når der trykkes på submit 2 gange,
> > tildeles to på hinanden følgende serienumre.
> > Din ide med at vise bestillingen på en side, som så blot skal
> > bekræftes, sad jeg netop og skrev som svar til Bjarnes indlæg,
> > og det bliver nok løsningen.
>
> Kan du ikke genere serienummeret en side før ?
>
> --
> .: Henrik Stidsen - http://hs235.dk/ - http://hs235.dk/blog/ ::...
> "Is everyone else in the world a moron, or is it just me?"
> (Dilbert Newsletter)

Det kunne jeg godt, men det sker der bliver trykket på tilbageknappen, og
bestillingen gentages, men med ændrede data, så vil det ikke være en gangbar
løsning.

Mvh.
Aagaard



Lars Dybdahl (01-07-2003)
Kommentar
Fra : Lars Dybdahl


Dato : 01-07-03 07:44

Aagaard wrote:
> Det kunne jeg godt, men det sker der bliver trykket på tilbageknappen, og
> bestillingen gentages, men med ændrede data, så vil det ikke være en
gangbar
> løsning.

Prøv lige at afgøre med dig selv, hvad du helt præcist vil have. En dobbelt
submit kan f.eks. gives ved at man klikker tilbage og trykker submit - og
den vil du jo forhindre? Man kan også forestille sig en, der klikker
submit/stop/reload/submit osv. Der er så mange muligheder, så efter min
mening skal du enten vælge at forhindre dobbelte submits ELLER give adgang
til at bruge tilbage-knappen for at lægge nye bestillinger.

Ved at have et skærmbillede, hvor man skal bekræfte bestillingen osv., gør
du det også mindre sandsynligt, at en bruger vil trykke på tilbage-knappen.

Lars.

--
Freelance programmør
Programmering mod timebetaling

Tonni Aagesen (01-07-2003)
Kommentar
Fra : Tonni Aagesen


Dato : 01-07-03 00:19

Aagaard skrev:

> Jeg en del sider hvor man via en form indsender en bestilling. Der står
> naturligvis at man ikke må trykke mere end en gang på Submit, men... der er
> der alligevel nogle der gør, for de har ikke tålmodighed til at vente op til
> 3-5 sekunder på at formen er evalueret og de kommer til en 'Tal for ..."
> side.

---- fil1.php -----
<form action="fil2.php" method="post">
   <input ... />
   <input ... />
   <input type="submit" name="submit" value="Send" />
</form>
-------------------

------fil2.php-----
<?php
if ($_POST['submit']) {
   // Gør noget med formdata
   header("location: /sti/til/tak.php");
} else {
   header("location: /somefile.php");
}
--------------------

--
Mvh
Tonni Aagesen
<agent29 AT stofanet DOT dk>


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