Mot de passe avec sessions php
Posté : 01 déc. 2014, 20:28
Bonjour,
J'ai une page d'accueil avec un unique champ de formulaire "mot de passe" et un bouton d'envoi.
Sur la page suivante j'ai écrit ce script censé vérifier l'envoi du formulaire et tester le mot de passe : si il est bon : j'ouvre une session afin de le passer de page en page afin d'éviter les accès directs à une page avec son adresse.
En fait cela fonctionne sur la première page mais lorsque je et un lien vers une 2e page en mettant en include mon code PHP : <?php include("protected.php"); ?> Cela ne fonctionne pas.
J'ai le message : Mot de passe incorrect ! Pourquoi le mot de passe ne passe t-il pas d'une page à une autre ? Voici mon code :
Merci de votre aide, car je galère depuis pas mal de temps.
Denis
J'ai une page d'accueil avec un unique champ de formulaire "mot de passe" et un bouton d'envoi.
Sur la page suivante j'ai écrit ce script censé vérifier l'envoi du formulaire et tester le mot de passe : si il est bon : j'ouvre une session afin de le passer de page en page afin d'éviter les accès directs à une page avec son adresse.
En fait cela fonctionne sur la première page mais lorsque je et un lien vers une 2e page en mettant en include mon code PHP : <?php include("protected.php"); ?> Cela ne fonctionne pas.
J'ai le message : Mot de passe incorrect ! Pourquoi le mot de passe ne passe t-il pas d'une page à une autre ? Voici mon code :
Code : Tout sélectionner
//protected.php
<?php
//$mot_de_passe = ""; //on créé une variable vide
if(isset($_POST) && !empty($_POST['mot_de_passe'])) //si la variable 'mot-de-passe' existe et qu'elle n'est pas vide
{
$mot_de_passe=$_POST["mot_de_passe"];
$_SESSION['mot_de_passe'] = $_POST['mot_de_passe'];
echo $_SESSION['mot_de_passe'];
}
else //sinon
{
$mot_de_passe = ""; //on créé une variable vide
$_SESSION['mot_de_passe'] = ""; //interdit les accès directs à la page !
}
if (isset($_SESSION['mot_de_passe']) AND $_SESSION['mot_de_passe'] != "980A" AND $_SESSION['mot_de_passe'] != "432A" AND $_SESSION['mot_de_passe'] != "925A" AND $_SESSION['mot_de_passe'] != "809A" ) // Le mot de passe est invalide !
{
// on enregistre le mot de passe de notre visiteur comme variable de session ($mot_de_passe)
echo $_SESSION['mot_de_passe'];
echo 'Mot de passe invalide ou absent!';
//header ('location:index.php');
exit;
}
?>
Denis