Login mail et pseudonyme
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Voila je voudrai pouvoir me connecter soit en mettant mon email ou bien mon pseudo, actuellement je le fais qu'avec mon pseudo mais je n'arrive pas à incruster la connexion avec le mail en supplément.
Voila je voudrai pouvoir me connecter soit en mettant mon email ou bien mon pseudo, actuellement je le fais qu'avec mon pseudo mais je n'arrive pas à incruster la connexion avec le mail en supplément.
$pseudoconnect = !empty($_POST['pseudoconnect']) ? $_POST['pseudoconnect'] : NULL;
$passconnect = !empty($_POST['passconnect']) ? hash("sha512",($_POST['passconnect'])) : NULL;
if(isset($_POST['form_connexion']))
{
$sql = "SELECT * FROM membres WHERE pseudo = ? AND pass = ?";
$datas = array($pseudoconnect,$passconnect);
try{
$prep= $bdd->prepare($sql);
$prep->execute($datas);
$a_result = $prep->fetchAll();
$nbResult = !empty($a_result) ? count($a_result) : 0;
}catch(Exception $e){
echo " Erreur : " . $e->getMessage();
}
$userexist = $nbResult;
if($userexist == 1)
{
$userinfo = $a_result[0];
$id = $userinfo['id'];
$confirme = $userinfo['confirme'];
$ban = $userinfo['ban'];
$mail = $userinfo['mail'];
$language = $userinfo['language'];
<form method="POST" action=""> <h1> Connexion </h1> <p> <label for="pseudoconnect" class="uname" data-icon="u" > Pseudo : </label> <input id="pseudoconnect" autocomplete="off" name="pseudoconnect" required="Pseudo Requis /!\" type="text" placeholder="Pseudo"></input> </p> <p> <label for="password" class="youpasswd" data-icon="p"> Mot de passe : </label> <input id="password" autocomplete="off" name="passconnect" required="Mot de passe Requis /!\" type="password" placeholder="Mot de passe"></input> </p> <p class="login button"> <input type="submit" name="form_connexion" value="Se connecter"></input> </p> <p class="change_link">Pas encore inscrit ? <a href="create_account.php" rel="nofollow noopener noreferrer" target="_blank" class="to_register">Inscrit toi !</a><a href="recup.php" rel="nofollow noopener noreferrer" target="_blank" class="to_register">Mot de passe oublié ?</a> </p> </form>
A voir également:
- Pseudo login
- Pseudo whatsapp - Accueil - Messagerie instantanée
- Pseudo facebook - Guide
- On me demande mon login ✓ - Forum Webmastering
- Mon pc me demande mon login é mon mo de passe - Forum Windows
- Portail mpsa login ✓ - Forum Réseau
Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens
A priori, ça veut dire que dans ton ->execute tu ne passes pas un tableau de taille 2 ?
Remontre ton code ?
Xavier
$pseudoconnect = htmlspecialchars(!empty($_POST['pseudoconnect']) ? $_POST['pseudoconnect'] : NULL); $passconnect = htmlspecialchars(!empty($_POST['passconnect']) ? hash("sha512",($_POST['passconnect'])) : NULL); $mailconnect = htmlspecialchars(!empty($_POST['pseudoconnect']) ? $_POST['pseudoconnect'] : NULL); $sql = "SELECT * FROM membres WHERE ? IN (pseudo, mail) AND pass = ?"; $datas = array($pseudoconnect,$mailconnect,$passconnect); try{ $prep= $bdd->prepare($sql); $prep->execute($datas); $a_result = $prep->fetchAll(); $nbResult = !empty($a_result) ? count($a_result) : 0; }catch(Exception $e){ echo " Erreur : " . $e->getMessage(); } $userexist = $nbResult;Tu n'as pas besoin de redéfinir $mailconnect qui est identique à $pseudoconnect.
Essaie ça :
$pseudoconnect = htmlspecialchars(!empty($_POST['pseudoconnect']) ? $_POST['pseudoconnect'] : NULL); $passconnect = htmlspecialchars(!empty($_POST['passconnect']) ? hash("sha512", ($_POST['passconnect'])) : NULL); $sql = "SELECT * FROM membres WHERE ? IN (pseudo, mail) AND pass = ?"; $datas = array($pseudoconnect, $passconnect);Xavier