BaptisteDebes
Messages postés90Date d'inscriptionmardi 8 mai 2012StatutMembreDernière intervention14 octobre 2013
-
Modifié par BaptisteDebes le 19/05/2012 à 12:55
BaptisteDebes
Messages postés90Date d'inscriptionmardi 8 mai 2012StatutMembreDernière intervention14 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();