doublons dans la base de données

doublons dans la base de données - PHP - Programmation

Marsh Posté le 28-09-2005 à 16:29:31    

Bonjour,
 
Je suis en train de faire un site où des personnes s'inscrivent pour fournir certaines informations dans le but d'éditer un fichier pdf avec un récapitulatif de leurs infos.
Le site est opérationnel seulement un probleme persiste :
- les champs à remplir sont sur plusieurs pages à la suite et lorsqu'un utilisateur fait un "retour en arrière" dans le navigateur  ou par un bouton sur la page et qu'il appuis par la suite sur "suivant" pour acceder à la page suivante, les données s'inscrivent une deuxieme fois dans la base de donnée.
 
Existe t il une solution pour palier ce problème ? Un bout de code à rajouter ?
Dois je mettre en place des sessions pour ca ? ( je n'ai besoin d'aucune personnalisation du site, c'est juste un remplissage de base de donnée ) Si c'est cette solution qu'il faut est ce dur et long a mettre en place, je suis un amateur en la matière...?
 
Merci d'avance pour vos conseils et le temps passé à répondre à un petit amateur!

Reply

Marsh Posté le 28-09-2005 à 16:29:31   

Reply

Marsh Posté le 28-09-2005 à 16:33:44    

Variables de session dans lesquelles si tu peux stocker : enregistrement des données A fait (ou pas). Mais ya peut être mieux...


Message édité par dwogsi le 28-09-2005 à 16:34:27

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 28-09-2005 à 16:38:05    

Donc ce que je veux faire n'est possible que grace aux sessions ?
dwogsi peut tu détailler un peux stp...?Merci!

Reply

Marsh Posté le 28-09-2005 à 16:53:18    

Bah je ne suis pas certain que ma solution soit la meilleur mais bon j'explique :
Tu connais les variable de sessions? Si c'est non, http://fr3.php.net/manual/fr/ref.session.php.
 
Bon prennons une page A qui enregistre les données du premier forumulaire.
 
Dans cette  page tu met ce code:

Code :
  1. session_start();
  2. if ( $_SESSION["recorded_a"] ) {
  3.      header("location: go_vers_page_B.php" );
  4. }else{
  5.      // Tu fait l'enregistrement dans la BDD
  6.      $_SESSION["recorded_a"] = TRUE;
  7. }


Message édité par dwogsi le 28-09-2005 à 16:55:36

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 28-09-2005 à 16:58:57    

je m'y suis un peu interessé et va falloir apparement que je m'y mette..
J'esperai qu'il y ait une solution plus "simple"..
Si je rajoute ce code au début de ma page, est ce que j'ai a changé mon code déja existant  qui enregistre les champs dans la BDD ?
 
En tout cas merci à toi c'est gentil de m'avoir fais un exemple. On comprend mieux par l'exemple!

Reply

Marsh Posté le 28-09-2005 à 17:08:22    

Code :
  1. session_start(); // Cette ligne va tout en haut de ton script!
  2. if ( !$_SESSION["recorded_a"] ) {
  3. {
  4.      // Si tu met le code d'enregistrement des données exactement ici
  5.      // et sans changer la ligne en dessous ca devrait marcher.
  6.      $_SESSION["recorded_a"] = TRUE;
  7. }


 
Sinon comme solution tu a les cookie mais c'est moisi à souhait!


Message édité par dwogsi le 28-09-2005 à 17:09:43

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed