Tester l'unicité du login
Résolu
joncavidulienne
Messages postés
13
Statut
Membre
-
joncavidulienne Messages postés 13 Statut Membre -
joncavidulienne Messages postés 13 Statut Membre -
Bonjour,
Voici mon morceau de code:
//verification de l'unicite du login
$req=$bdd->query = ("SELECT * FROM utilisateur where utilog = '.$login.'");
$data=$req->fetch();
if($data['utilog'] != "" )
{
echo "<label class='erreur'>Le login que vous avez saisi est déjà utilisé par un autre utilisateur.</label><br>";
$erreur = true;
}
J'ai le message d'erreur suivant:
Fatal error: Call to a member function fetch() on a non-object in C:\Program Files (x86)\EasyPHP-5.3.9\www\inscription.php on line 137
Je cherche mais ne trouve pas la solution.
Quelqu'un aurait-il la gentillesse de m'aider?
Merci
Voici mon morceau de code:
//verification de l'unicite du login
$req=$bdd->query = ("SELECT * FROM utilisateur where utilog = '.$login.'");
$data=$req->fetch();
if($data['utilog'] != "" )
{
echo "<label class='erreur'>Le login que vous avez saisi est déjà utilisé par un autre utilisateur.</label><br>";
$erreur = true;
}
J'ai le message d'erreur suivant:
Fatal error: Call to a member function fetch() on a non-object in C:\Program Files (x86)\EasyPHP-5.3.9\www\inscription.php on line 137
Je cherche mais ne trouve pas la solution.
Quelqu'un aurait-il la gentillesse de m'aider?
Merci
A voir également:
- Tester l'unicité du login
- Flash drive tester - Télécharger - Divers Utilitaires
- Tester son pc - Guide
- Tester composant pc - Guide
- On me demande mon login - Forum Windows
- Tester compatibilité windows 11 - Guide
8 réponses
Merci de ta patience
le voilà:
<?php
//inclusion des variables de connexion
include "connect_bdd.php";
$nom ="";
$adresse="";
$ville="";
$code="";
$mail ="";
$login ="";
$pass ="";
$conf ="";
if(isset($_POST['nom']))
{
$nom = htmlentities($_POST['nom']);
$mail = htmlentities($_POST['mail']);
$adresse = htmlentities($_POST['adresse']);
$code = htmlentities($_POST['code']);
$ville = htmlentities($_POST['ville']);
$login = htmlentities($_POST['login']);
$pass = htmlentities($_POST['pass']);
$conf = htmlentities($_POST['conf']);
//adresse mail valide
if($mail <> "")
{
$Syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#';
if(!preg_match($Syntaxe,$mail))
{
echo "<label class='erreur'>Le mail saisi n'est pas valide.</label><br>";
$erreur = true;
}
}
//login
if($login != "" && (strlen($login) < 4 || strlen($login) > 10))
{
echo "<label class='erreur'>Le login doit faire entre 4 et 10 caractères.</label><br>";
$erreur = true;
}
else
{
//verification de l'unicite du login
$req=$bdd->query = ("SELECT * FROM utilisateur where utilog = '$login'");
$data=$req->fetch();
if($data['utilog'] != "" )
{
echo "<label class='erreur'>Le login que vous avez saisi est déjà utilisé par un autre utilisateur.</label><br>";
$erreur = true;
}
}
//mot de passe
if($pass != "" && (strlen($pass) < 4 || strlen($pass) > 10))
{
echo "<label class='erreur'>Le mot de passe doit faire entre 4 et 10 caractères.</label><br>";
$erreur = true;
}
//confirmation du mot de passe
if($pass != $conf)
{
echo "<label class='erreur'>Le mot de passe et la confirmation sont différents.</label><br>";
$erreur = true;
}
//champs obligatoires
if($nom == "" || $login == "" || $mail == "" || $pass == "" || $conf == "")
{
echo "<label class='erreur'>Les champs marqués d'une * sont obligatoires</label><br>";
$erreur = true;
}
$rec=$bdd->query ("INSERT INTO utilisateur(utinom,utiadresse,utiville,uticode,utimail,utilog,utipas) VALUES('$nom','$adresse','$ville','$code','$mail','$login','".md5($pass)."')");
echo '<script language="JavaScript">
alert("Votre inscription est bien prise en compte. ");
window.location.replace("index.php");
</script>';
exit;
}
le voilà:
<?php
//inclusion des variables de connexion
include "connect_bdd.php";
$nom ="";
$adresse="";
$ville="";
$code="";
$mail ="";
$login ="";
$pass ="";
$conf ="";
if(isset($_POST['nom']))
{
$nom = htmlentities($_POST['nom']);
$mail = htmlentities($_POST['mail']);
$adresse = htmlentities($_POST['adresse']);
$code = htmlentities($_POST['code']);
$ville = htmlentities($_POST['ville']);
$login = htmlentities($_POST['login']);
$pass = htmlentities($_POST['pass']);
$conf = htmlentities($_POST['conf']);
//adresse mail valide
if($mail <> "")
{
$Syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#';
if(!preg_match($Syntaxe,$mail))
{
echo "<label class='erreur'>Le mail saisi n'est pas valide.</label><br>";
$erreur = true;
}
}
//login
if($login != "" && (strlen($login) < 4 || strlen($login) > 10))
{
echo "<label class='erreur'>Le login doit faire entre 4 et 10 caractères.</label><br>";
$erreur = true;
}
else
{
//verification de l'unicite du login
$req=$bdd->query = ("SELECT * FROM utilisateur where utilog = '$login'");
$data=$req->fetch();
if($data['utilog'] != "" )
{
echo "<label class='erreur'>Le login que vous avez saisi est déjà utilisé par un autre utilisateur.</label><br>";
$erreur = true;
}
}
//mot de passe
if($pass != "" && (strlen($pass) < 4 || strlen($pass) > 10))
{
echo "<label class='erreur'>Le mot de passe doit faire entre 4 et 10 caractères.</label><br>";
$erreur = true;
}
//confirmation du mot de passe
if($pass != $conf)
{
echo "<label class='erreur'>Le mot de passe et la confirmation sont différents.</label><br>";
$erreur = true;
}
//champs obligatoires
if($nom == "" || $login == "" || $mail == "" || $pass == "" || $conf == "")
{
echo "<label class='erreur'>Les champs marqués d'une * sont obligatoires</label><br>";
$erreur = true;
}
$rec=$bdd->query ("INSERT INTO utilisateur(utinom,utiadresse,utiville,uticode,utimail,utilog,utipas) VALUES('$nom','$adresse','$ville','$code','$mail','$login','".md5($pass)."')");
echo '<script language="JavaScript">
alert("Votre inscription est bien prise en compte. ");
window.location.replace("index.php");
</script>';
exit;
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour !
Essaye de remplacer ça :
Essaye de remplacer ça :
$req=$bdd->query = ("SELECT * FROM utilisateur where utilog = '$login'");
Par ça :
$req=$bdd->query("SELECT * FROM utilisateur where utilog = '$login'");
Bravo vous êtes trop forts!J'ai suivi le conseil de Nhay et çà marche.(je veux rester en PDO)
J'ai encore un tout petit problème: il me dit bien que le login est déjà utilisé mais le client est quand même inscrit dans ma base de données. Est-ce normal?
J'ai encore un tout petit problème: il me dit bien que le login est déjà utilisé mais le client est quand même inscrit dans ma base de données. Est-ce normal?