Anti doublon

Fermé
BaptisteDebes Messages postés 90 Date d'inscription mardi 8 mai 2012 Statut Membre Dernière intervention 14 octobre 2013 - Modifié par BaptisteDebes le 19/05/2012 à 12:55
BaptisteDebes Messages postés 90 Date d'inscription mardi 8 mai 2012 Statut Membre Dernière intervention 14 octobre 2013 - 19 mai 2012 à 14:06
Bonjour,

Je suis entrain de créer un espace membre sur mon site et tous la base fonctionne grâce à la communauté :) mais je suis veux l'améliorer pour (la ce qui produit mon problème ) un système anti doublon qui permet de ne pas voir le même pseudo je pense s'avoir d'où viens le problème ( quand je valide le formulaire la ligne d'insertion indique une erreur) voici le code :




<!doctype html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="test.css" />
<title>Ig.fr : Création du compte</title>
</head>
<?php
// on teste si le formulaire a été validé
if (isset($_POST['go'])) {
// on se connecte à notre base
$base = mysql_connect ('localhost', 'Baptiste', 'BaPtIsTe1998');
mysql_select_db('compte', $base);

// on teste la déclaration de nos variables
if (!isset($_POST['prenom']) || !isset($_POST['nom']) || !isset($_POST['pseudo']) || !isset($_POST['pass']) || !isset($_POST['email']) || !isset($_POST['ville']) || !isset($_POST['choix'])) {
$erreur = 'Les variables nécessaires au script ne sont pas définies.';
}
else {
if (empty($_POST['prenom']) || empty($_POST['nom']) || empty($_POST['pseudo']) || empty($_POST['pass']) || empty($_POST['email']) || empty($_POST['ville']) || empty($_POST['choix'])) {
$erreur = 'Au moins un des champs est vide.';
}
// si tout est bon, on peut commencer l'insertion dans la base
else {
// lancement de la requête d'insertion
$sql = "SELECT * FROM compte WHERE pseudo='$pseudo'";
if ( mysql_num_rows($sql) === 1 ) {
echo'Ce pseudo existe déjà'; }
else {
$sql2 = 'INSERT INTO compte VALUES("", "'.mysql_escape_string($_POST['prenom']).'", "'.mysql_escape_string($_POST['nom']).'", "'.mysql_escape_string($_POST['pseudo']).'", "'.mysql_escape_string($_POST['pass']).'", "'.mysql_escape_string($_POST['email']).'", "'.mysql_escape_string($_POST['ville']).'", "'.mysql_escape_string($_POST['choix']).'")';

// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
mysql_query($sql2) or die('Erreur SQL !'.$sql2.'<br />'.mysql_error());

// on ferme la connexion à la base de données
mysql_close();


Merci d'avance


}
}
}

}
?>
<?php
$prenom = $_POST['prenom'];
$nom = $_POST['nom'];
$pseudo = $_POST['pseudo'];
$pass = $_POST['pass'];
$email = $_POST['email'];
$ville = $_POST['ville'];
$h = $_POST['homme'];
$f = $_POST['femme'];
$choix = $_POST['choix'];
?>
<body>

<form action="creation.php" method="post">
<table>
<tr><td>
<span>Prénom :</span>
</td><td>
<input type="text" name="prenom" value="expl : Charle">
</td></tr><tr><td>
<span>Nom :</span>
<td></td>
<input type="text" name="nom" value="expl : Tonglet">
<td></tr><tr><td>
<span>Pseudo :</span>
</td><td>
<input type="text" name="pseudo" value="expl : Mortem64">
</td></tr><tr><td>
<span>Mot de passe :</span>
</td><td>
<input type="password" name="pass" value="">
</td></tr><tr><td>
<span>Email :</span>
</td><td>
<input type="text" name="email" value="expl : mauriceturoingt@...mail.com">
</td></tr><tr><td>
<span>Ville :</span>
</td><td>
<input type="text" name="ville" value="expl : Paris">
</td></tr><tr><td>
<span>Sexe :</span>
<select name="choix">
<option value="homme">Homme</option>
<option value="femme">Femme</option>
</select>
</td></tr><tr><td><td align="right">
<input type="submit" name="go" value="Envoyer les informations">
</td></tr></table>
</form>

</body>
</html>

1 réponse

BaptisteDebes Messages postés 90 Date d'inscription mardi 8 mai 2012 Statut Membre Dernière intervention 14 octobre 2013
19 mai 2012 à 14:06
quelqu'un à une réponse ?
0