Probleme : eviter les doublon Mail d'une inscription

Fermé
kzykx Messages postés 6 Date d'inscription jeudi 28 janvier 2016 Statut Membre Dernière intervention 6 avril 2016 - 6 avril 2016 à 19:42
DelNC Messages postés 2234 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020 - 7 avril 2016 à 07:48
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

DelNC Messages postés 2234 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020 1 999
7 avril 2016 à 07:48
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