Identification par email ou pseudo
Posté : 16 oct. 2016, 14:56
Salut à tous.
Voilà j'ai fait un système d'identification qui marche sans problème pseudo et password.
Et la je souhaite laissé la possibilité à l'utilisateur de s'identifier par pseudo ou "email".
Et je ne vois pas ce qui bloque.
J'ai en erreur :
Undefined index: email
Donc pr mon code:
Voilà j'ai fait un système d'identification qui marche sans problème pseudo et password.
Et la je souhaite laissé la possibilité à l'utilisateur de s'identifier par pseudo ou "email".
Et je ne vois pas ce qui bloque.
J'ai en erreur :
Undefined index: email
Donc pr mon code:
<?php
if(!empty($_POST)) {
$erreurs = array(); //tableau contenant des messages d'erreurs
if(empty($_POST['pseudo'])) $erreurs['pseudo'] = 'Renseigner un pseudo'; //vérification du pseudo
if(empty($_POST['password'])) $erreurs['password'] = "le mot de passe est requis"; //vérification du mot de passe
// le tableau d'erreurs est vide alors on insère les données
if(count($erreurs) == 0) {
$pseudo = $_POST['pseudo'];
$email = $_POST['email'];
$password_hache = sha1($_POST['password']);
$message = authentificationPro( $pseudo, $password_hache ); //appel de la fonction d'authentification
}
}
?>
// le formulaire
<form method="post" action="compte-utilisateur-connexion.php">
<div class="form-group">
<label for="email">Adresse email ou pseudo <span class="required">*</span></label>
<br>
<input title="Email Address" class="form-control" name="pseudo" type="text" placeholder="Votre identifiant" value="<?php if(isset($_POST['pseudo'])) echo $_POST['pseudo'];?>" />
<?php if(isset($erreurs['pseudo'])) echo '<br><div class="alert alert-danger" role="alert"><i class="fa fa-frown-o"></i> ' .$erreurs['pseudo'].'</div>';?>
</div>
<div class="form-group">
<label for="pass">Mot de passe <span class="required">*</span></label>
<br>
<input title="Password" name="password" type="password" placeholder="Mot de passe" class="form-control" value="<?php if(isset($_POST['pseudo'])) echo $_POST['pseudo'];?>" />
<?php if(isset($erreurs['password'])) echo '<br><div class="alert alert-danger" role="alert"><i class="fa fa-frown-o"></i> ' .$erreurs['password'].'</div>';?>
</div>
<p class="small">
<input type="checkbox" name="remember"> Se souvenir de moi
</p>
<input class="btn_full" type="submit" value="ENVOYER">
<a href="register.html " class="btn_full_outline">Inscription</a>
<br>
<?php echo !empty($message) ? $message : NULL; ?>
</form>
Coté exécution
// Vérification des identifiants
$req = $bdd->prepare('SELECT * FROM simply_user WHERE (pseudo = :pseudo OR email =:email) AND password = :password');
$req->execute(array(
'pseudo' => $pseudo,
'email' => $pseudo,
'password' => $password
));
if($req->rowCount() > 0) {
$resultat = $req->fetch();
$_SESSION['membre'] = $resultat;
$_SESSION['pseudo'] = $resultat['pseudo'];
$_SESSION['email'] = $resultat['email'];
$_SESSION['password'] = $resultat['password'];
$_SESSION['id_region'] = $resultat['id_region'];
$_SESSION['type'] = 'client';
$_SESSION['statut'] = $resultat['statut'];
if(!empty($_POST['remember'])) setcookie('identification', serialize(array($pseudo, $password)), mktime(0, 0, 0, date('m'), date('d'), date('Y')+1), '/');
header('Location: /sortie/region-'.simplification($aRegion[$_SESSION['id_region']]).'.html');
} else {
$return = '<div class="alert alert-danger" role="alert"><i class="fa fa-frown-o"></i> Mauvais identifiant ou mot de passe !</div>';
}