formulaires et bd

kodjo
Invité n'ayant pas de compte PHPfrance

18 mars 2005, 18:58

Bonjour à tous!
Je j'ai créé 3 formulaires html qui insèrent des infos dans une bd mysql, à la suite.
Le form1 s'affiche, on le remplit et on valide, le form 2 s'affiche ...
Je fais une insertion dans la bd à la validation de chaque formulaire donc 3 insertions.

Ma question: je me suis rendu compte qu'après avoir validé un formulaire, si je fais page précédente et que je revalide, l'information est insérée 2 fois.
Si un utilisateur est un peu perdu et qu'il clique +ieurs fois sur valider, il va foutre un bordel monstre dans ma base.
Comment puis-je éviter cela? ya til plusieurs solutions possibles?

merci pour vos réponses!

Mammouth du PHP | 19672 Messages

18 mars 2005, 20:43

Salut,
ce n'est pas la première fois que je vois cette question ici. Je n'ai jamais trop regardé la suite, mais je me dis que ça pourrait se régler avec une variable de session. Crées une variable de session $_SESSION['enregistre'] = "non" . Lorsque le formulaire est validé, teste la valeur de la variable et change la en "OK" si elle est à "non" ou alors bloque l'enregistrement si elle est déjà à "OK".
Même si un impatient s'énerve sur le clic de souris, le premier clic va changer la variable et bloquer les insertions surnuméraires.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: