Page de connexion

Résolu/Fermé
dannezri Messages postés 52 Date d'inscription vendredi 24 juillet 2015 Statut Membre Dernière intervention 8 août 2017 - Modifié par dannezri le 4/08/2015 à 12:28
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 - 4 août 2015 à 14:50
Bonjour,
J'ai précédemment créé ma page d'inscription (qui grace a l'aide des réponses a mes question sur ccm fonctionne) et là j'ai un nouveau petit problème: j'ai créé une page de connexion qui quand je met un utilisateur qui n'existe pas dans ma base de donné il me met pas de message d'erreur donc je pense que le problème est que ma page de connexion n'est pas connecter a ma base de donné.

Voici le code de ma page de connexion

<?php

error_reporting(E_ALL);

require_once 'cnxBDD.php';
if(isset($_POST['formconnexion']))
{
$mailconnect = htmlspecialchars($_POST['mailconnect']);
$mdpconnect =($_POST['mdpconnect']);
if(!empty($mailconnect)AND !empty($mdpconnect))
{
$requser = $bdd ->prepare("SELECT * FROM membres WHERE MAIL = ? AND motdepasse = ?");
$requser->execute(array($mailconnect, $mdpconnect));
$userexist = $requser->rowCount();
if(userexist == 1)
{

}
else
{
$erreur = "Mail ou mot de passe incorrect";
}
}
else
{
$erreur = "Tous les champs doivent être complétés";
}
}


?>







<html>
<head>
<title>Connexion</title>

</head>
<body>
<div>
<h2>Connexion</h2>
<br /><br />
<form method="POST" action="">
<input type="text" name="mailconnect" placeholder="Mail" />
<input type="password" name="mdpconnect" placeholder="Mot de passe" />
<input type="submit" name="formconnexion" value="Se connecter" />
</form>
<?php
if(isset($erreur))
{
echo $erreur;
}

?>
</div>
</body>
</html>



et voici la page nommé "cnxBDD.php" qui est censé me connecter a ma base de donné et que j'ai utilisé pour la page d'inscription et qui fonctionnait.

<?php


$host = "localhost";
$dbname = "espace_membres";
$user = "root";
$pwd = "root";

try{
$options = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING);
$bdd = new PDO("mysql:host=".$host.";dbname=".$dbname.";charset=utf8", $user, $pwd ,$options);
}catch (Exception $e){
echo '<br>Erreur : ' . $e->getMessage();
exit();
}



Merci
A voir également:

1 réponse

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
4 août 2015 à 14:50
Salut,

La méthode rowCount() sur un objet PDOStatement retourne le nombre de lignes affectées par la dernière requête DELETE, INSERT ou UPDATE exécutée.
https://www.php.net/manual/fr/pdostatement.rowcount.php

Tu ne peux donc pas utiliser rowCount() pour compter le nombre de résultat d'une requête SELECT.

Il te suffit donc de compter le nombre de résultat directement dans ta requête sql et d'en récupérer la valeur :
$requser = $bdd ->prepare("SELECT count(*) FROM membres WHERE MAIL = ? AND motdepasse = ?");
$requser->execute(array($mailconnect, $mdpconnect));
$userexist = $requser->fetchColumn();


Bonne journée
0