Interdire deux fois le même nom ou autre

Also know as Messages postés 259 Date d'inscription samedi 13 décembre 2003 Statut Membre Dernière intervention 22 novembre 2010 - 13 juin 2004 à 19:25
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 - 14 juin 2004 à 13:02
Bonjour,

Je suis débutant en php.
Voilà, je suis en train de travailler sur la création d'accés pour mon site Internet.

Pour le moment je suis au tout début et je suis en train de créer une page pour que les personnes s'inscrivent sur mon site.

Cette page est bientôt finie, mais j'ai remarqué une grosse erreur de ma part, je ne fais pas de comparaison pour savoir si le login, pseudo, ou autre existe déjà dans la base de donnée.

Je voudrais dire que cela est impossible car "déjà enregistré".

Je ne connais pas le moyen de faire cela, est-ce que quelqu'un pourrait m'aider ?

Je suis débutant, donc faites quelque chose de concret en tant qu'exemple s'il vous plaît.

Merçi par avance

6 réponses

coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
13 juin 2004 à 20:35
Salut!
$sql_query = "SELECT id FROM table_membres WHERE pseudo='$pseudo'";
$result = mysql_query($sql_query);

if(!$result)
// redir erreur

if(mysql_num_rows($result) > 0)
echo 'Un membre portant le pseudo ' . pseudo . ' existe déjà!';


@++

R@f

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
Also know as Messages postés 259 Date d'inscription samedi 13 décembre 2003 Statut Membre Dernière intervention 22 novembre 2010 2
13 juin 2004 à 20:55
Merci pour cette réponse très rapide et bien faite.
0
Also know as Messages postés 259 Date d'inscription samedi 13 décembre 2003 Statut Membre Dernière intervention 22 novembre 2010 2
13 juin 2004 à 21:21
J'ai maintenant un problème avec la source que tu m'a donnée.

Voilà ce qu'il affiche :

"Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/free.fr/d/c/m.strasser/inscription/insertion.php on line 121

Warning: mysql_query(): Unable to save result set in /var/www/free.fr/d/c/m.strasser/inscription/insertion.php on line 130"

Cela viens donc d'un problème de non-reconnaissance de mysql_num_rows.

Voiçi donc un bout de ma source :

   <?php
  //connection au serveur
  $cnx = mysql_connect( "serveur", "login", "mot de passe" ) ;

  //sélection de la base de données:
  $db  = mysql_select_db( "users" ) ;

  //récupération des valeurs des champs:
  //nom:
  $nom     = $_POST["nom"] ;
  //prenom:
  $prenom = $_POST["prenom"] ;
  //pseudo:
  $pseudo = $_POST["pseudo"] ;
  //mot de passe:
  $mdp = $_POST["mdp"] ;
  //e-mail:
  $courriel = $_POST["courriel"] ;

$sql_query = "SELECT id FROM users WHERE pseudo='$pseudo'";
$result = mysql_query($sql_query);

if(!$result)
// redir erreur

if(mysql_num_rows($result) > 0)
echo 'Un membre portant le pseudo ' . pseudo . ' existe déjà!';

  
  //création de la requête SQL:
  $sql = "INSERT  INTO users (nom, prenom, pseudo, mdp, courriel)
            VALUES ( '$nom', '$prenom', '$pseudo', '$mdp', '$courriel') " ;
  
  //exécution de la requête SQL:
  $requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;
  
  //affichage des résultats, pour savoir si l'insertion a marchée:
  if($requete)
  {
    echo("
") ;
    echo("
") ;
    echo("<center>") ;
    echo("L'inscription à réussi.") ;
    echo("
") ;
    echo("Vous pouvez maintenant accéder avec votre profil sur ce site Internet") ;
    echo("
");
    echo("Retour à l'accueil");
    echo("</center>") ;
  }
  else
  {
    echo("
") ;
    echo("
") ;
    echo("<center>") ;
    echo("Une erreur s'est produite pendant votre inscription.") ;
    echo("
") ;
    echo("Veuillez renouvellez l'opération") ;
    echo("
");
    echo("Retour à la page précédente");
    echo("</center>") ;
  }
?>


Est-ce que quelqu'un peut m'aider donc pour résoudre cette partie là :

$sql_query = "SELECT id FROM users WHERE pseudo='$pseudo'";
$result = mysql_query($sql_query);

if(!$result)
// redir erreur

if(mysql_num_rows($result) > 0)
echo 'Un membre portant le pseudo ' . pseudo . ' existe déjà!';
0
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
13 juin 2004 à 22:06
Salut!
if(!$result)
// redir erreur

Il faut mettre quelque chose ici ou enlever cette ligne...
Par exemple:
if(!$result)
{
header("location: erreur.php");
exit;
}


@++

R@f

P.S. Tu es chez free?

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Also know as Messages postés 259 Date d'inscription samedi 13 décembre 2003 Statut Membre Dernière intervention 22 novembre 2010 2
13 juin 2004 à 22:20
merci pour cette réponse.

Pour ta question, oui je suis chez free, pourquoi ?
0
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
14 juin 2004 à 13:02
Salut!
J'ai vu sur le net (en faisait un recherceh avec ce message d'erreur) que c'était un problème fréquent sous free....

@++

R@f

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
Rejoignez-nous