Empecher écriture multiple dans base données

Tapir -  
 Tapir -
Bonjour,
J'ai fait un site avec un formulaire, et j'aimerais empecher l'utilisateur de revenir une page en arrière (dans l'historique) afin d'éviter que les mêmes données ne soient écrites plusieurs fois dans ma base.
Existe-il un moyen propre de faire ça?
Merci!!
A voir également:

11 réponses

Tapir
 
Personne?
0
Jean
 
Bonne question! Je me suis toujours demandé... peut-être faire un SELECT et voir si ça te renvoie qqch? Mais ça me parait un peu compliqué... il doit surement y avoir plus simple... si qqn a une idée, je suis preneur!
Merci de vos réponses et merci à Tapir de sa question!
0
Tapir
 
Eh bien... on ne peut pas dire que l'on se bouscule pour répondre... :-(
0
croy Messages postés 457 Statut Membre 114
 
Bonjour,

Comment définis-tu "les mêmes données" ?

Si tu vux éviter qu'un même utilisateur écrive plusieurs messages, une idée serait d'utiliser un cookie.

Si le critère est dans les données elles-mêmes, une solution serait de définir un critère d'unicité dans ta table et de laisser mysql détecter le doublon (le retour de la fonction mysql_query permettra de signaler l'erreur à l'utilisateur).
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
masdmaah Messages postés 49 Statut Membre 2
 
Bonsoir,

Si c'est un formulaire d'inscription, il suffit de mettre dans ta base de donnée un champs "UNIQUE" (pour le champs pseudo par exemple).
Si l'utilisateur revient sur la page et essaye d'entrer les mêmes données, la requête sera rejeté.

Je ne sais pas si je répond à ta question?
0
Tapir
 
Tout d'abord, merci de vos réponses.
En fait, il s'agit d'un questionnaire pour un sondage. Je veux éviter qu'une même personne ne le fasse plusieurs fois. Est-il possible de définir un attribut UNIQUE sur deux champs ? (nom + prénom doivent être unique, mais il peut y avoir plusieurs fois le même nom ou le même prénom).
Merci encore.
0
croy Messages postés 457 Statut Membre 114
 
Oui il est possible de positionner UNIQUE sur plusieurs champs.

Plusieurs personnes pouvant avoir les mêmes nom/prénom il me semble qu'il n'y a pas d'autres solutions que d'identifier les personnes par un pseudonyme en plus du nom et du prénom) et de mettre en unique le pseudo.
0
masdmaah Messages postés 49 Statut Membre 2
 
tu peux mettre un champs UNIQUE dans ta base et le rempli avec "nom-prénom-age" tous collé.
ça te faire juste rajouter une colone dans ta base.
0
Tapir
 
OK, donc pour résumer (je débute) j'ajoute simplement une colonne pseudo (par exemple) avec l'attribut unique à ma base, et ensuite MySQL détecte tout seul les doublons... c'est bien ça? Ou dois-je rajouter du code permettant de gérer ça?
Merci beaucoup de toutes vos indications!
0
masdmaah Messages postés 49 Statut Membre 2
 
non pas de code a rajouter quand l'utiisateur essayra d'ajouter les meme info , si il essaye d'ajouter un pseudo deja existant , la requete sera refusée
0
Tapir
 
Parfait!! Merci bcp!
0