Rendre le login d'un formulaire unique

Fermé
nilanna Messages postés 7 Date d'inscription jeudi 7 mai 2009 Statut Membre Dernière intervention 3 juin 2009 - 7 mai 2009 à 10:31
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 - 7 mai 2009 à 11:29
Bonjour,
je dois créer un site internet pour le projet de bac. On réalise le formulaire d'incsription il nous reste plus qu'un petit détail à régler et on est vraiment bolquées. En fait, on veut faire en sorte que le login ne soit pas déjà dans la base de donnée. Voici le script que l'on a déjà mit en place, si vous avez des solutions, ça nous aiderais beaucoup.


<html>
<body>
<?php

// affectation des valeurs dans des variables
$Login=$_POST['LogCl'];
$Mp1=$_POST['Mp1Cl'];
$Mp2=$_POST['Mp2Cl'];
$Nom=$_POST['NomCl'];
$Prenom=$_POST['PrenomCl'];
$Adresse=$_POST['AdresseCl'];
$Ville=$_POST['VilleCl'];
$Cp=$_POST['CpCl'];
$Tel=$_POST['TelCl'];
$Mail=$_POST['MailCl'];
$Categ=$_POST['CategCl'];
$News=$_POST['NewsCl'];

// Erreur de confirmation du mot de passe
if ($Mp2!=$Mp1)
{
echo"Les deux mots de passe saisis ne sont pas identiques.Veuillez le resaisir!";
echo "<a href=\"E:\EasyPHP1-8\www\projet\formulaire.html\"><h3>Retour à la fiche d'inscription</h3></a>";
}
// Mot de passe correct, enregistrement du client et de la demande
else
{
// message de contrôle
echo "Cher(e) $Prenom $Nom,<br />";
echo "votre insciption est reussi.";

// connexion au serveur MySQL
$db=mysql_connect("localhost","julie","fringue") or die("erreur de connexion".mysql_error());

// ouverture de la base fringue
mysql_select_db("fringue",$db) or die("erreur de connexion à la base fringue");

//requête d'insertion des valeurs dans la table client
$sql="INSERT INTO client VALUES('','$Nom','$Prenom','$Adresse','$Ville','$Cp','$Tel','$Mail','$Categ','','','$Login','$Mp1','$Mp2','$News')";

// Exécution de la requête
mysql_query($sql);

// fermeture de la connexion à MySQL
mysql_close();
}
?>
</body>
</html>

1 réponse

arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
7 mai 2009 à 11:29
Ce qu'il faut que tu fasses, c'est au début du traitement du formulaire, tu rajoutes un SELECT count(*) FROM...
avec un WHERE login="'.$_POST['LogCl'];.'" correspondant au login.
Cette requête va compter les login identique.
Ensuite une condition pour compter.

Je te met un exemple complet:
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_real_escape_string($_POST['login']).'"';
req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
$nb = mysql_fetch_array($req);
if($nb[0] >= '1'){echo 'Ce login est déjà utilisé';}
else{
/*Reste du code d'inscription et la requête INSERT*/
}
0