Page de connexion
Résolu
dannezri
Messages postés
52
Date d'inscription
Statut
Membre
Dernière intervention
-
Pitet Messages postés 2826 Date d'inscription Statut Membre Dernière intervention -
Pitet Messages postés 2826 Date d'inscription Statut Membre Dernière intervention -
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
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.
Merci
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:
- Page de connexion
- Gmail connexion - Guide
- Impossible de supprimer une page word - Guide
- Numéro de page word - Guide
- Imprimer tableau excel sur une page - Guide
- Site inaccessible n'autorise pas la connexion - Guide
1 réponse
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 :
Bonne journée
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