Je viens d'apprendre le php et je me lance dans l'aventure de construire un forum ! J'ai un petit problème au moment de vérifier si c'est bien le bon mot de passe lors de la connexion... en effet je n'arrive pas à afficher " mauvais mot de passe" lorsque que celui ci est faux. Mais j'arrive à que sa se connecte quand le mot de passe et le pseudo sont corrects et sa ne se connecte pas lorsque le mots de passe ou le pseudo est faux.
je ne reçois aucun message d'erreurs...
Voici le formulaire de connexion :
<?php
if(isset($_SESSION['pseudo'])) //si $_SESSION existe cela veut dire que l'on est déjà connecté ( on verifie si il existe )
{
?>
<div id="deconnexion">
<a href="deconnexion.php">Deconnexion</a>
</div>
<?php
$verification_etat_connexion=true; // La variable est utilisé ligne 73
}
if(isset($verification_connexion)) // si $ verification connexion existe on execute ( la variable a était créer si le mdp ou le pseudo est incorrect )
{
?>
<div id="connexion">
<p> Votre pseudo ou votre mot de passe sont incorrectes !</p>
<form method="post" action="traitement_connexion.php" />
Pseudo: <input type="text" name="pseudo" /></br>
Mot de passe: <input type="password" name="mot_de_passe" /><br>
<input type="submit" value="Valider" /></br>
</div>
<?php
}
else
{
if(isset($verification_etat_connexion)) // si sa existe alors on fait rien en gros si $_SESSION existe alors on faite rien sinon sa veut dire que l'on vient d'arriver
{
}
else
{
?>
<div id="connexion">
<form method="post" action="traitement_connexion.php" />
Pseudo: <input type="text" name="pseudo" /></br>
Mot de passe: <input type="password" name="mot_de_passe" /></br>
<input type="submit" value="Valider" /></br>
<div id="demande_inscription"></div>
Tu veux t'inscrire ? </br>
<a href="formulaire_inscription.php"> Alors clique içi !</a>
</div>
<?php
}
}
?>
et le traitement du formulaire de connexion est içi :
<?php
// on protége toute les données du formulaire et on hache le mot de passe
$_POST['pseudo']=htmlspecialchars($_POST['pseudo']);
$_POST['mot_de_passe']=htmlspecialchars($_POST['mot_de_passe']);
$_POST['mot_de_passe']=sha1($_POST['mot_de_passe']);
include("connexion_bdd.php");// connexion BDD
//requète préparer, on place dans $réponse l'ID dans la table compt ou le pseudo = pseudo formulaire et pareil pour le mdp
$reponse=$bdd->prepare('SELECT ID FROM compte WHERE pseudo= :pseudo AND mot_de_passe= :mot_de_passe');
$reponse->execute(array( // on execute avec les variable du formulaire
'pseudo' => $_POST['pseudo'],
'mot_de_passe' => $_POST['mot_de_passe']));
// on range $reponse pour le mettre dans $donnees qui est un array ( tableau)
$donnees=$reponse->fetch();
if (!$donnees) // si il n'y a rien dans $donnees
{
$verification_connexion;
header('Location: accueil.php');
}
else // sinon, si il y a quelque chose
{
session_start(); //on créer une session
header('Location:accueil.php'); // on va à l'accueil et on place des variables de session
$_SESSION['ID'] = $donnees['ID'];
$_SESSION['pseudo'] = $_POST['pseudo'];
}
?>
J'avoue que je suis un peu perdu là et qu'un petit coup de main serait plus que le bienvenue !À très bientôt !