Comment se connecter a mon site soit avec le pseudo ou soit l'adresse email
Posté : 09 nov. 2022, 18:52
Bonjour a tous
pour 'instant j'a un formulaire de connexion qui me permet de me connecter a mon site
avec le mot de passe et le pseudo
Mais j'auais aimer laisser le choix a l'utilisateur afin qu'il puisse se connecter soit avec son pseudo ou alors son adresse email
j'ai essaye plusieurs choses
Mais rien ne fonctionne
Je vous donne mon code
pour 'instant j'a un formulaire de connexion qui me permet de me connecter a mon site
avec le mot de passe et le pseudo
Mais j'auais aimer laisser le choix a l'utilisateur afin qu'il puisse se connecter soit avec son pseudo ou alors son adresse email
j'ai essaye plusieurs choses
Mais rien ne fonctionne
Je vous donne mon code
Code : Tout sélectionner
<?php
session_start();
error_reporting(E_ALL);
ini_set('display_errors', true);
ini_set('display_startup_errors', true);
//on recupere le lien link pour la redirection vers les autres pages
$link = !empty($_GET['link']) ? $_GET['link'] : NULL;
require_once 'base.php';
if (!empty($_POST['pseudo']) && !empty($_POST['password']))
{
$pseudo = !empty($_POST['pseudo']) ? $_POST['pseudo'] : NULL;
$password = !empty($_POST['password']) ? $_POST['password'] : NULL;
$email = !empty($_POST['email']) ? $_POST['email'] : NULL;
//préparation de la requête et des variables
//$sql = 'SELECT pseudo, email,id,confirme, password,confirmkey FROM utilisateurs WHERE pseudo = ?';
$sql = 'SELECT pseudo, email,id,confirme, password,confirmkey FROM utilisateurs WHERE pseudo = ? OR email = ?';
$datas = [$pseudo];
//$datas = array($pseudo,$email);
//Execution de la requete
try
{
$requete = $bdd->prepare($sql);
$requete->execute($datas);
}
catch(Exception $e)
{
// en cas d'erreur :
echo " Erreur ! " . $e->getMessage();
echo " Les datas : ";
print_r($datas);
}
$data = $requete->fetch();
$row = $requete->rowCount();
$userexit=$requete->fetch();
//si le peusdo est bien dans la base alors on continue sinon on sort
//$datasmail = [$email];
//exécution de la requête
//try{
//$stmt = $bdd->prepare($sql);
//$stmt->execute($datasmail);
//$user = $stmt->fetch();
//}catch(Exception $e){
// en cas d'erreur :
//echo " Erreur ! ".$e->getMessage();
//echo " Les datas : " ;
//print_r($datasmail);
//}
//if (empty($user))
//{header('Location: connexion-site.php?login_err=divers3');
// die();}
if ($data['confirme'] !=1 and $row == 0 )//pseusdo pas bon
{header('Location: connexion-site.php?login_err=divers2');
die();}
//else if
//($data['confirme'] !=0 and $row == 1)//psuedo bon
//{header('Location: connexion-site.php?login_err=divers3');
// die();}
if ($data['confirme'] !=0)
{
if ($row == 1)
{
//on verifie le pawword si il est ok on continue , sinon sortie
if (password_verify($password, $data['password']))
{
//on definit et on cree les variables sessions
$_SESSION['user'] = array(
'id' => $data['id'],
'pseudo' => $data['pseudo'],
'email' => $data['email'],
'confirmkey' => $data['confirmkey']
);
$_SESSION['id'] = $data['id'];
$_SESSION['pseudo'] = $data['pseudo'];
$_SESSION['email'] = $data['email'];
$_SESSION['confirmkey'] = $data['confirmkey'];
//on test la variable link si elle est vide on va vers index
if (empty($_SESSION['link']))
{
header('Location: index.php?pseudo=' . $_SESSION['pseudo']);
//header('Location: index.php?pseudo=' . $_SESSION['email']);
//sinon on va faire la derniere page visitee
}
else
{
header('location: ' . $_SESSION['link']);
}
die();
}
else
{
header('Location: connexion-site.php?login_err=password');
die();
}
}
else
{
header('Location: connexion-site.php?login_err=already');
die();
}
}
else
{
header('Location: connexion-site.php?login_err=divers');
die();
}
}
?>