Vérification doublon email avant validation du formulaire

Résolu
lina-24 Messages postés 63 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Je début en BDD et je rencontre un soucis au sujet de la vérification de doublon d'adresse e-mail afin de valider un formulaire.

J'ai un formulaire PHP qui permet aux utilisateurs de s'inscrire sur le site -- sur une base de donné mysql
Je souhaiterais que le script vérifier que le email n'existe pas déjà dans ma BDD.
pour ne pas avoir de doublon a l'inscription des utilisateurs. dans ma BDD. :(
Merci pour vos réponses.
Mon code :
<?php 

if($_POST) {
 // database connection
 $server = '127.0.0.1';
 $username = 'root';
 $password = '';
 $dbname = 'base';

 $conn = new mysqli($server, $username, $password, $dbname);

 // check db connection
 if($conn->connect_error) {
  die("Connection Failed : " . $conn->connect_error);
 } 
 else {
  // echo "Successfully Connected";
 }

 $valid = array('success' => false, 'messages' => array());

 $name = $_POST['fullName'];
 $lastname = $_POST['lastname'];
    $sex = $_POST['sex'];
    $age = $_POST['age'];
    $statut = $_POST['statut'];
    $proffession = $_POST['proffession'];
    $ville = $_POST['ville'];
    $mobile = $_POST['mobile'];
    $email = $_POST['email'];

 $type = explode('.', $_FILES['userImage']['name']);
    
    
 $type = $type[count($type) - 1];
 $url = '/uploads/files/' . uniqid(rand()) . '.' . $type;

 if(in_array($type, array('gif', 'jpg', 'jpeg', 'png'))) {
  if(is_uploaded_file($_FILES['userImage']['tmp_name'])) {
   if(move_uploaded_file($_FILES['userImage']['tmp_name'], $url)) {

    // insert into database
    $sql = "INSERT INTO visitor (Name,Lastname, Sex, Age, Statut, Proffession, Ville, Mobile, email, Image) VALUES ('$name','$lastname','$sex','$age','$statut','$proffession','$ville','$mobile','$email','$url')";

    if($conn->query($sql) === TRUE) {
     $valid['success'] = true;
     $valid['messages'] = "Successfully Uploaded";
    } 
    else {
     $valid['success'] = false;
     $valid['messages'] = "Erreur lors du telechargement";
    }

    $conn->close();

   }
   else {
    $valid['success'] = false;
    $valid['messages'] = "Error while uploading";
   }
  }
 }

 echo json_encode($valid);

 // upload the file 
}
A voir également:

3 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

De la même manière que tu as faire une requête INSERT pour insérer les données dans ta bdd, il te suffit de faire, avant, une requete SELECT pour vérifier si l'email est déjà présent ou non dans la base.

Un truc du genre
  $sql = "SELECT *
          FROM visitor 
          WHERE email = '$email' ";

  $result = $conn->query($sql);
  $row = $result -> fetch_array(MYSQLI_ASSOC);
  
  if (empty($row)){
    // dans ce cas, la requete n'a rien retourné..


    
  }else{
    echo "L'email existe déjà !";
  }



Edit: correction du code

..
0
lina-24 Messages postés 63 Date d'inscription   Statut Membre Dernière intervention   4
 
je vous remercie pour votre aide Jordane :)
le problème je ne sais même pas a qu'elle niveau le placée se code que vous venez de m'envoyer lol je suis vraiment novice :(
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Ligne 41 par exemple
0
lina-24 Messages postés 63 Date d'inscription   Statut Membre Dernière intervention   4 > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
j'ai une erreur sur cette ligne elle est en rouge
 $result = $conn->query($sql);*
$row = $result -> fetch_array(MYSQLI_ASSOC);
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > lina-24 Messages postés 63 Date d'inscription   Statut Membre Dernière intervention  
 
Il y a un astérisque qui c'est glissé en trop dans mon code... Faut le retirer..
0
lina-24 Messages postés 63 Date d'inscription   Statut Membre Dernière intervention   4
 
s'il vous plaît a qu'elle niveau je place se code que vous venez de m'envoyer je suis vraiment novice :(
0