Accès à une page avec variable de session
Bonjour à tous,
Voici mon soucis : Je souhaite créer un espace administrateur sur mon site. J'ai donc créé une page (index.php) contenant un formulaire de connexion. Si les identifiants sont dans la base de données, la validation redirige vers une page appelée home.php. Jusque là tout va bien. Sauf que maintenant il faut que je sécurise l’accès à ma page home.php sinon on peut y accéder sans le connecter en tapant son url directement. Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10
|
<form class="connexion" action="" method="post">
<h2>Connexion à l'espace admin</h2>
<input type="text" name="pseudo" palceholder="Login" autocomplete="off"/>
<input type="password" name="mot_de_passe" palceholder="Pass" autocomplete="off"/>
<input class="boutonconnexion"type="submit" name="connexion" value="Connexion" />
</form> |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
<?php
// Durée de vie de la session (Time To Live)
$ttl = 10;
session_set_cookie_params($ttl);
//session.gc_maxlifetime(1800); 30 minutes
session_start();
if(isset($_POST['connexion'])) {
if(empty($_POST['pseudo'])) {
echo "Le champ Pseudo est vide.";
} else {
if(empty($_POST['mot_de_passe'])) {
echo "Le champ Mot de passe est vide.";
} else {
$Pseudo = htmlentities($_POST['pseudo'], ENT_QUOTES, "ISO-8859-1");
$MotDePasse = htmlentities($_POST['mot_de_passe'], ENT_QUOTES, "ISO-8859-1");
$mysqli = mysqli_connect("localhost", "root", "", "medrano2017");
if(!$mysqli){
echo "Erreur de connexion à la base de données.";
} else {
$Requete = mysqli_query($mysqli,"SELECT * FROM admin WHERE login_admin = '".$Pseudo."' AND pass_admin = '".$MotDePasse."'");
if(mysqli_num_rows($Requete) == 0) {
echo 'Le pseudo et/ou le mot de passe est incorrect';
} else {
$_SESSION['pseudo'] = $Pseudo;
header('Location: home.php');
}
}
}
}
}
?> |
Et voici le bout de code que j'utilise pour vérifier la session :
Code:
1 2 3 4 5 6
|
<?php
if (!$_SESSION['pseudo']) {
header('Location: index.php');
}
?> |
Sauf que ça me redirige tout le temps vers l'index. Quand j'enlève ce bout de code, la connexion s'effectue et la redirection aussi. Je ne comprends pas...
Merci à tous pour votre aide !