Verifier si un email dans la BBD

Résolu
thecrazzy84 Messages postés 81 Statut Membre -  
Apatik Messages postés 6040 Statut Contributeur -
Bonjour,
Quelqu un aurait il une idée pour une ligne de commande en php afin que au moment de l enregistrement de mon formulaire si l'utilisateur entre un Email "Index unique " qui est deja dans la BBD il ai un
echo du style : Cette email existe deja...

Merci

3 réponses

  1. marwen
     
    bnjr
    tester en sql si ce mail est dans la BDD si ou un variable s incrimente un
    e lors de l enregistrement dans la BDD, selon se variable on faire la tache
    s il est egal a 0 il enregistre sinn il indique au visiteur qu il est deja inscri
    b chance
    0
  2. thecrazzy84 Messages postés 81 Statut Membre
     
    Bonjour

    j'ai fais un formulaire, pour enregistrer des donnée dans une BBDca ca marche tres bien !
    Il est traité par un page de type envoi_post.php.
    ensuite j ai une requete qui affiche une page de recapitulaitif de la derniere entré.

    Mon probleme :

    Dans ma bbd j ai mis que un champ Id auto incrementé clé primaire... et en dernier j le champ email que j ai indexé unique .

    Donc si quelqu un rentre un enregistrement qui contient un email existant deja
    j aimerai qu il soit rediriger sur la page de formulaire qui diras que l email existe deja ...

    il faut que ma page de traitement verifie l email et redirige sur la bonne page le cas echeant...

    Savez vous comment je peux y parvenir .

    J'espere que j'ai etai clair ??
    0
  3. Apatik Messages postés 6040 Statut Contributeur 789
     
    $return = mysql_query("SELECT id FROM table WHERE mail=$email");
    while ($table=mysql_fetch_array($return))
    {
       if (!empty ($table['id']))
       {
          echo "adresse utilisée";
       }
       else
       {
          echo "adresse disponible";
       }
    }


    Tu vois l'idée?
    0
    1. thecrazzy84 Messages postés 81 Statut Membre
       
      <?php
      // Connexion à la base de données
      try
      {
      $bdd = new PDO('mysql:host=localhost;dbname=xxxxxx, xxxxxx, 'xxxxxx');
      }
      catch(Exception $e)
      {
      die('Erreur : '.$e->getMessage());

      }

      // Insertion du message à l'aide d'une requête préparée
      $req = $bdd->prepare('INSERT INTO infopart(nom, prenom, dtn, adresse, complement, cp, ville, telephone, email) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)');
      $req->execute(array($_POST['nom'], $_POST['prenom'], $_POST['dtn'], $_POST['adresse'], $_POST['complement'], $_POST['cp'], $_POST['ville'], $_POST['telephone'], $_POST['email']));

      $return = mysql_query("SELECT id FROM table WHERE mail=$email");
      while ($table=mysql_fetch_array($return))
      {
      if (!empty ($table['id']))
      {
      echo "adresse utilisée";
      }
      else
      {
      echo "adresse disponible";
      }
      }

      header('Location: recapitulatif.php');
      ?>

      genre comme ca
      0
    2. Apatik Messages postés 6040 Statut Contributeur 789
       
      Non, il faut vérifier si c'est dans ta db, avant de l'insérer dedans.. Sinon tu l'auras forcément 8)
      0
    3. thecrazzy84 Messages postés 81 Statut Membre
       
      <?php
      // Connexion à la base de données
      try
      {
      $bdd = new PDO('mysql:host=localhost;dbname=ve42_infospart', 've42_ggmv', 'ggmv');
      }
      catch(Exception $e)
      {
      die('Erreur : '.$e->getMessage());


      $return = mysql_query("SELECT id FROM table WHERE mail=$email");
      while ($table=mysql_fetch_array($return))
      {
      if (!empty ($table['id']))
      {
      echo "adresse utilisée";
      }
      else
      {
      echo "adresse disponible";
      }
      }

      }

      // Insertion du message à l'aide d'une requête préparée
      $req = $bdd->prepare('INSERT INTO infopart(nom, prenom, dtn, adresse, complement, cp, ville, telephone, email) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)');
      $req->execute(array($_POST['nom'], $_POST['prenom'], $_POST['dtn'], $_POST['adresse'], $_POST['complement'], $_POST['cp'], $_POST['ville'], $_POST['telephone'], $_POST['email']));

      header('Location: recapitulatif.php');
      ?>

      Alors comme ca ?
      0
    4. Apatik Messages postés 6040 Statut Contributeur 789
       
      T'as compris mon code?
      C'est un moule à adapter, pas à prendre tel quel..
      0
    5. thecrazzy84 Messages postés 81 Statut Membre
       
      oui j ai piger merci lol
      0