Aller au contenu

Empêcher la soumission multiple d'un formulaire


Monique

Sujets conseillés

Attention ! La methode est traitre. L'usage de ce javascript s'il est mal gere cote serveur peut faire plus de degats qu'autres choses...

Variante de l'exemple indique :

<form action="traitement.php" method="post"

      onsubmit="return soumettreUneSeuleFois(this);">

  <fieldset>

    <input name="champ" type="text" />

    <input name="champ1" type="text" />

    <input name="champ2" type="text" />

    <input name="champ3" type="text" />

    <input name="champ4" type="text" />

    <input name="champ5" type="text" />

    <input name="champ6" type="text" />

    <input type="submit" name="submit" value="soumettre" />

  </fieldset>

</form>

Si la fonction soumettreUneSeuleFois() desactive le bouton "submit" lors de la validation du formulaire, la variable $_REQUEST['submit'] n'existera plus !

Donc, ca n'aura plus aucun sens par exemple de faire le test suivant en PHP :

if ( !empty($_REQUEST['submit']) )

{

// traitement PHP du formulaire si $_REQUEST['submit'] non vide

//...

// malheureusement, a cause du javascript, $_REQUEST['submit'] sera desactive, donc inexistant, vide...

}

else

{

//..

}

Il faut y penser. Je me suis fait surprendre sur mon blog...

Solution : un champs hidden (par exemple "copy_submit") qui servira de temoin en cas de besoin :)

Modifié par Dash
Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...