Probleme : eviter les doublon Mail d'une inscription

kzykx Messages postés 6 Statut Membre -  
DelNC Messages postés 2360 Statut Membre -
Bonjour, Je souhaite a present modifier mon code d'inscription et si l'utilisateur met une adresse mail deja presente dans la base de donnée celui ci est refuser , voici mon code qui malheureusement ne fonctionne pas :(

<html>
<head>
<body bgcolor=red>
</head>
<?php
//connection au serveur
$cnx = mysqli_connect( "localhost", "root", "" ) or die ("Impossible de se connecter");

//sélection de la base de données:
$db = mysqli_select_db( $cnx ,"WHATSNIGHT" ) ;

$sql="SELECT MailUser FROM Utilisateurs WHERE MailUser='".$_POST['MailUser']."' ";
$result=mysql_query($sql);
//si la requete ne retourne rien, cela signifie que le mail n'existe pas
if(mysql_num_rows($result) != 0)
{
echo 'Ce mail existe deja';
}
else
{
//traitement

//récupération des valeurs des champs:
//Mail:
$MailUser = $_POST ["MailUser"] ;
//nom:
$NomUser = $_POST["NomUser"] ;
//prenom:
$PrenomUser = $_POST["PrenomUser"] ;
//age:
$AgeUser = $_POST["AgeUser"] ;
//Adresse:
$AdresseUser = $_POST["AdresseUser"] ;
//Ville:
$VilleUser = $_POST["VilleUser"] ;
//CP:
$CodepostalUser = $_POST["CodepostalUser"] ;
//Sexe:
$SexeUser = $_POST["SexeUser"] ;
//Biographie:
$BiographieUser = $_POST["BiographieUser"] ;
//Mot de passe:
$motdepasse = $_POST["motdepasse"] ;

//création de la requête SQL:

$sql = "INSERT INTO utilisateurs (MailUser, NomUser, PrenomUser, AgeUser, AdresseUser, VilleUser, CodepostalUser, SexeUser ,BiographieUser,motdepasse)
VALUES ( '$MailUser','$NomUser', '$PrenomUser', '$AgeUser', '$AdresseUser', '$VilleUser', '$CodepostalUser','$SexeUser',
'$BiographieUser', '$motdepasse') " ;

//exécution de la requête SQL:
$requete = mysqli_query($cnx , $sql) or die( mysql_error() ) ;

//affichage des résultats, pour savoir si l'insertion a marchée:
if($requete)
{
echo("Votre inscription a bien était pris en compte ") ;
}
else
{
echo("L'insertion à échouée") ;
}}
?>
</body>
</html>


Merci pour votre aide :)

1 réponse

  1. DelNC Messages postés 2360 Statut Membre 2 010
     
    Bonjour kzykx

    voilà un exemple que j'ai fait pour t'aider

    Formulaire pour ajouter un client
    <?php	//creation du nouveau client    
    echo "<form method='post' action='clients_rajout_resultat_page.php'> \n";
    echo "<table class=\"green\"> \n";
    echo " <tr><td> Nom du client </td><td><input type='text' name='nom_client'> </td></tr> \n";
    echo " <tr><td> Adresse </td><td><input type='text' name='adresse_client'> </td></tr> \n";
    echo " <tr><td> </td><td><input type='submit'> </td></tr> \n";
    echo "</table> \n";
    echo "</form> \n";
    ?>


    Pour vérifier si le client existe déjà
    function sql_clients_exists($nom_client) {
    //retourne true si le client existe
    $query = "SELECT COUNT(*) FROM clients WHERE nom_client='" . $nom_client . "';";
    $result = execute_query($query);
    $row = mysql_fetch_array($result);
    $result = ($row[0]>0);
    return $result;
    }//end function


    Insertion dans la base de données du nouveau client s'il n'existe pas encore
    // je recupère les variables
    <?php
    if(isset($_REQUEST["nom_client" ])) {$nom_client = $_REQUEST["nom_client"];}
    else {$nom_client = "";}
    if(isset($_REQUEST["adresse_client" ])) {$adresse_client = $_REQUEST["adresse_client"];}
    else {$adresse_client = "";}
    ?>

    <?php
    if (!sql_clients_exists($nom_client)) {
    echo "<h2>Client créé.</h2>\n";
    $query = "INSERT INTO clients (id_client, nom_client, adresse_client)
    VALUES (NULL , '$nom_client', '$adresse_client') ;";
    execute_query($query);
    }//end if
    else {
    echo "<h2>Client non créé.</h2> \n";
    echo "Client \"$nom_client\ invalide ou déjà existant \"$nom_client\" <br/> \n";
    echo "<br/> \n";
    }//end else
    ?>
    1