L’erreur de synchronisation provient d’un déphasage de contexte entre la page dans le navigateur et le contexte du serveur. Prenons un exemple :
- j’affiche sur une page WebDev le client « DUPOND Jean »,
- je clique sur le bouton suivant de ma page et j’affiche « DUPOND Luc »,
Donc sur le serveur, mon pointeur Hyper File est sur « DUPOND Luc ».
- je clique sur la touche précédente du Navigateur (Back),
J’ai donc dans ma page affichée « DUPOND Jean » et sur le serveur « DUPOND Luc » puisque le navigateur n’a pas avertit le serveur de ce retour arrière.
Que fait WebDev pour que je n’écrase pas « DUPOND Jean » avec les données de « DUPOND Luc » ?
WebDev stocke dans toutes les pages qu’il envoie au serveur un numéro de contexte unique. Quand le moteur reçoit une page (Clic sur un bouton « SUBMIT »), il vérifie que le contexte est le même. Dans le cas où celui-ci est différent, il exécute le code de synchronisation de page et si il n’y a aucun code, renvoie la page avec le message de synchronisation.
ATTENTION : un nouveau SUBMIT va écraser les données !
Je vous ai fait un petit schéma avec l’outil de modélisation de WinDev : Gestion de la synchronisation.
En conclusion, si vous ne gérer pas manuellement la synchronisation, les internautes risquent de mélanger les données de votre base.