Salut,
Prenons l'exemple suivant :
Un site web de gestion de livre où le membre doit s'identifier pour accéder au contenu.
Ce site est couplé avec une base de données (MySQL).
L'une des pages du site permet d'afficher le détail d'un livre.
Si le détail de livre se trouve déjà dans la base alors la page affiche les infos dans des zones texte donnant la possibilté aux membres de modifier les zones à l'aide du bouton "Modifier".
Dans le cas contraire, les zones textes sont vide et un bouton "valider" est présent.
Dans les deux cas, j'utilise une zone en hidden qui me permet de savoir si je suis en "Validation" ou en "Modification".
Coté serveur, je teste donc cette zone et je décide de faire soit un INSERT soit un UPDATE. Jusque là pas de problème.
Cependant, j'ai remarqué qu'avec IE, on peut ouvrir la même page dans une autre fenêtre (CTRL+N).
Ma page de départ est de type "VALIDER" (=le membre doit donc valoriser le formulaire). Le membre clique sur valider et le processus se passe bien.
Comme le membre avait ouvert cette même page une deuxième fois, il clique aussi sur "VALIDER". Là il y a une erreur SQL car duplication de clé ! Ce qui est logique.
Je me pose donc la question suivante :
Dans tout les tutos de validations de formulaires, aucun test n'est réalisé si l'enregistrement est déjà réalisé.
Théoriquement que faudrait-il faire ? Tester avant tout INSERT, si les données sont présentes ou non ?
Qu'en pensez-vous ?
Merci
Partager