magic120 Posté 25 Juin 2005 Posté 25 Juin 2005 Bonjour tout le monde, je suis en train de créer un site internet qui affiche des messages modifiables par les utilisateurs lorsqu un utilisateur est en train de modifier un message, personne d autres ne peut modifier ou supprimer ce message j ai pensé a ajouter un champs dans la table des messages, ce champs a pour valeur "oui" quand un utilisateur est en train de modifier le message mais le probleme, c est que si un utilisateur éteint son pc brutalement (par ex: il débranche le cable d alimentation) pendant qu il est en train de modifier un message, le champs reste sur la valeur "oui" alors que le message n est plus en cours de modification Pouvez-vous m aider a résoudre ce probleme? Merci d avance Vincent
WewEB Posté 25 Juin 2005 Posté 25 Juin 2005 Lorsque qu'un utilisateur demande à modifier un message, tu vérifies si ce dernier est en cours d'édition. Si ce dernier l'est, et depuis plus d'un certain temps (15 minutes par exemple), tu considéres que la personne voulant le modifier n'est plus là/ne s'en occupe plus. Et tu passes alors le champs à non. C'est la solution la plus simple que je vois. Mais pas la plus sûr. (Pense plutôt à un Wiki pour ce genre de chose, tout le monde peut modifier mais tu ne risques pas de perdre tes données)
enroc Posté 25 Juin 2005 Posté 25 Juin 2005 Bonjour d'abord j'imagine qu'il y a plein d'autres manières de "planter" le statut d'un message édité, pas seulement en éteignant brutalement son ordinateur ... Sinon pour rendre un message non editable lorqu'il l'est déjà je n'ai pas plus d'idées que vous 2, par contre tu peux aussi vérifier la date de dernière modification : le formulaire de modification possède un champ caché "date", et si à l'enregistrement (submit) ce champ date est antérieur à la date de dernière modification du message, alors ça ne colle pas et il faut l'expliquer à l'utilisateur. Si tu mixtes les 2 méthodes, je pense que ça fait quelque chose d'assez fonctionnel. Tu peux aussi faire un historique du document et le conserver dans toutes ses versions pour être sûr de ne pas avoir de problème. Bon courage !
magic120 Posté 26 Juin 2005 Auteur Posté 26 Juin 2005 Merci pour votre aide je pense que je vais adopter ta solution, Enroc et sinon, une petite question: quand on crée une table, est ce qu il existe un type booléen pour les champs? Merci d avance
WewEB Posté 26 Juin 2005 Posté 26 Juin 2005 J'utilise un Enum('0','1'), PHP n'ayant pas de vrai type booléen (true = 1 et false = 0)
magic120 Posté 26 Juin 2005 Auteur Posté 26 Juin 2005 merci pour l astuce j y avais pensé mais je voulais la confirmation
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant