|
| 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>
| |
|
|