Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2711 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  eviter les doubles...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

eviter les doubles...

n°1249156
bulzy
Posté le 19-11-2005 à 23:54:38  profilanswer
 

Salut tout le monde, alors j'vais vous exposez mon soucis en esperant que quelqu'un pourra m'aider  :)  
Donc j'ai une page HTML avec un formulaire qui une fois validé nous renvoie sur une page php qui doit nous afficher (et qui affiche d'ailleurs ) les infos rentrées dans le formulaire. Pour ça j'utilise une base de donnée qui m'enregistre toute les infos Jusque là tout va bien...mon problème vient quand je fais une actualisation (F5) de la page, il me demande un renvoie d'information s'qui fait que j'ai deux fois la même entrée ds ma table...normale, sauf que sa me plait pas trop, même pas du tout, dc vous avez devinez ma question...comment demander a mysql de faire une verif avt d'ajouter l'entrée pour voir si elle existe déjà ou pas ? :whistle:  
Voilà j'espère avoir été assez clair, et surtout que quelqu'un pourra m'aider  :)  
J'vous remercie d'avance !!

mood
Publicité
Posté le 19-11-2005 à 23:54:38  profilanswer
 

n°1249161
afbilou
pouet your life
Posté le 20-11-2005 à 00:10:40  profilanswer
 

Plein de solutions !
 
Pourkoi pas l'tilisation d'une clé primaire dans ta table (te renseigner sur l'utilite d'une telle clé)
 
Tu peux egalement ameliorer la navigation en faisant une redirection dans ce genre :

Code :
  1. Formulaire --validation--> script d'insertion des données dans la table --redirection_via_php--> page de visualisation ou retour au formulaire


De cette maniere l'utilisateur ne renvoie pas les données postées en utilisant F5.

n°1249168
gocho
Posté le 20-11-2005 à 00:22:52  profilanswer
 

ou avant l'insertion tu cherches dans ta base de donnees s'il ce que tu va entrer est deja present ou non.
select ce que tu veux et regardes le nombre de resultats
Mais la cle primaire est pas mal c'est encore plus rapide !

n°1249175
leflos5
On est ou on est pas :)
Posté le 20-11-2005 à 01:06:33  profilanswer
 

Vu que la clé primaire est l'identifiant unique de la table, je vois pas trop pourquoi ça va l'aider... A moins que vous fassiez des bd pas très règles de base proof :D
 
Suffit de vérifier et de toutes manières faut le faire, après balancer un header pour zapper le truc ;)

n°1249297
bulzy
Posté le 20-11-2005 à 14:36:44  profilanswer
 

Bon alors j'ai plus ou moin résolu mon prob, en faite après validation du formulaire, l'utilisateur est redirigé sur une page qui enregistre toutes les infos ds la BDD puis qui redirige encore une fois vers la page où on doit voir les infos s'afficher grace à <META HTTP-EQUIV="refresh"  
content="1;URL=http://.....">. Donc après on a beau réactualiser la page, les infos ne sont pas renvoyées ! J'pense pas que se soit la meilleur solution mais bon au moin sa marche :)

n°1249349
sircam
I Like Trains
Posté le 20-11-2005 à 16:28:13  profilanswer
 

Y'a pas mal de façons d'attaquer le bazar.
 
Au niveau DBMS:
 
- Trigger sur l'insertion pour vérifier un doublon.
- Index composite unique.
 
Efficace mais plutôt "violent dernier ressort" et présentant pas mal d'inconvénients. Utile mais pas suffisant.
 
Le mieux est sans doute, au niveau applicatif, d'empêcher d'entrer les données en double : utilisation d'un "token" qui indique qu'on est déjà passé par telle page. Une table de transitions t'indique où tu en es, et si l'endroit tu te trouves est légitime ou si la transition est interdite.
 
Fais une recherche sur "double submit(ion)" : un pb classique.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1249411
leflos5
On est ou on est pas :)
Posté le 20-11-2005 à 18:22:35  profilanswer
 

Envois plutot un header en php qu'un meta refresh ;) Si t'as un problème lors de l'update et que ça met plus d'une seconde tu l'as dans... :D


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  eviter les doubles...

 

Sujets relatifs
Comment éviter que les liens soit soulignés ?[Article] SQL Server : Eviter les colonnes calculées comme la peste
comment eviter les sauts a la ligne[C#] eviter un retour à la ligne avec Console.WriteLine
Comment eviter une exception de serialVersionUID ?Fichiers et dossiers doubles
[HTML] Obfuscation d'emails - éviter le spam [résolu][JS]Le SP2 bloque mon script comment eviter sa?
[MySQL] Comment éviter une requete de type : Select ... Where .. IN .?comment éviter d'afficher des résultats doubles ?
Plus de sujets relatifs à : eviter les doubles...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR