Formulier wordt nog een keer verzonden als je op enter klikt.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Sara Z

Sara Z

10/01/2012 11:53:37
Quote Anchor link
Goede dag,

Ik heb een probleem met een formulier.

Als je op verzenden klikt, dan ga jij naar:
www.domein.nl/contact?action=verzenden

Het werkt perfect! Maar als jij daarna de pagina ververst (F5), worden de gegevens weer verzonden.
Moet ik iets doen met de sessie?
NB: Sorry voor de termen. Ik ben geen programmeur.

Alvast bedankt voor je hulp.
SZ
Gewijzigd op 10/01/2012 12:23:08 door Sara Z
 
PHP hulp

PHP hulp

22/11/2024 07:54:25
 
- Ariën  -
Beheerder

- Ariën -

10/01/2012 11:57:28
Quote Anchor link
Je, een sessie plaatsen met een uniek ID voordat het verstuurd wordt, deze code in de hidden formulier-veld plaatsen. En na het versturen de sessie verwijderen.

Bij het versturen kijken of de sessie bestaat. Zo niet error....
 
Sara Z

Sara Z

10/01/2012 12:26:33
Quote Anchor link
Hi Aar,

Dank je wel voor de reactie.

Ik wil eerst iets corrigeren. Niet op Enter klikken, maar na het verversen (F5) van de pagina.

Geldt je oplossing ook in deze situatie?
 
- Ariën  -
Beheerder

- Ariën -

10/01/2012 12:27:23
Quote Anchor link
Ja, PHP kent geen onderscheid in ENTER of F5.
 
Sara Z

Sara Z

10/01/2012 12:29:31
Quote Anchor link
Dank je wel. Ik zal hem nu meteen testen. Ik ben benieuwd.
 
Kris Peeters

Kris Peeters

10/01/2012 12:43:27
Quote Anchor link
Om te beginnen, Wat je normaal zou doen, is na een POST request de pagina verversen met header('location: ...')

Dan ben je al van dat probleem verlost.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
  if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    // post verzoek afhandelen
    // ...
    //echo '<pre>' . print_r($_POST, 1) . '</pre>';

    header('location: ...') ; // ... ezlf invullen.  Meestal ga je gewoon terug naar de zelfde pagina  
  }
?>

<html>
...
<fotm ...> ...
</form>
...
</html>


Maar het kan inderdaad, omwille van meerdere redenen, goed zijn om aan je form een uniek nummer mee te geven, waarop je in je post verzoek kan controleren.
 
Sara Z

Sara Z

10/01/2012 12:54:59
Quote Anchor link
Bedankt allebei voor de hulp.

Het is opgelost door de header('location: ...'). Heel simpel.

Ik wens jullie een fijne dag verder.
 
Sara Z

Sara Z

26/12/2012 14:48:37
Quote Anchor link
- Aar - op 10/01/2012 11:57:28:
Je, een sessie plaatsen met een uniek ID voordat het verstuurd wordt, deze code in de hidden formulier-veld plaatsen. En na het versturen de sessie verwijderen.

Bij het versturen kijken of de sessie bestaat. Zo niet error....


Ik ga toch voor deze optie, maar ik heb wat hulp nodig.
Kan iemand wat meer uitleg geven aub? Met een voorbeeld zou het heel fijn zijn.
Alvast bedankt mannen
Sara
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.