IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Empêcher inscription doublon dans une table


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Homme Profil pro
    Technicien en télécommunication
    Inscrit en
    Mai 2013
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien en télécommunication
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2013
    Messages : 199
    Par défaut Empêcher inscription doublon dans une table
    Bonjour,

    J'ai fait un formulaire d'encodage et quand j'entre 2 fois le même numéro de rapport j'ai bien l'erreur qui s'affiche dans mon url, ma fenêtre javascript s'affiche également bien mais tout s’efface sur mon formulaire donc l'utilisateur doit tout ré-encodé et le doublon s’insère donc dans la db ?

    Y a t'il moyen de faire en sorte que le message s'affiche quand il y a un doublon sans que tout s’efface sur le formulaire ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    $req = $db->prepare("SELECT count(*) as numberNumRapport FROM encod WHERE num_rapport = ?");
     
    $req->execute(array($num_rapport));
     
     
    while($numRapport_verification = $req->fetch()){
     
      if($numRapport_verification['numberNumRapport'] != 0){
     
        header('location: encodage.php?error=1&num_rapport=1');
     
        exit;
     
      }
     
    }
     
     
    if(isset($_GET['error'])){
     
        if(isset($_GET['num_rapport'])){
     
          $message='Le numéro de rapport existe déjà !'; 
     
      echo '<script type="text/javascript">alert("'.$message.'");
     
      self.location.href="encodage.php"
     
          </script>'; 
     
      exit();
     
       } 
     
      }
     
    ?>

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    Tu dois faire le traitement des valeurs envoyées par l'utilisateur dans le même fichier et ne pas rediriger la page, préremplir le formulaire avec les valeurs envoyées en cas de doublon détecter et afficher un message d'erreur.
    Sinon, tu peux utiliser une requête AJAX pour ne pas recharger la page.

    A+.

Discussions similaires

  1. [AC-2003] empêcher une requête ajout d'afficher des doublons dans une table
    Par facteur dans le forum VBA Access
    Réponses: 19
    Dernier message: 31/10/2012, 15h35
  2. [WD14] Empêcher doublon dans une table
    Par tonioboss dans le forum WinDev
    Réponses: 3
    Dernier message: 09/06/2012, 15h42
  3. [Toutes versions] Empécher l'ajout de de doublon dans une table
    Par Tengu dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 14/06/2011, 11h45
  4. Empêcher les doublons dans une table
    Par Niki59 dans le forum Langage
    Réponses: 2
    Dernier message: 16/11/2008, 11h33
  5. [access]doublons dans une table en access !
    Par hackerandco dans le forum Bases de données
    Réponses: 6
    Dernier message: 14/06/2004, 14h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo