J'essaie de tester un système de connexion simple sans DB, juste à des fins de test. J'ai créé un fichier php qui vérifie si le nom d'utilisateur et le pass sont valides et enregistrent une session.PHP Sessions Système de connexion
<?php
session_start();
define("ADMINUSER", "user");
define("ADMINPASSWORD", "pass");
$user = $_POST['user'];
$pass = $_POST['pass'];
if (($user==ADMINUSER) && ($pass==ADMINPASSWORD))
{
$_SESSION['logged_in'] = true;
header("Location: main.php");
}
else
{
header("Location: auth.php?flag=wrong");
}
?>
et inclure dans d'autres fichiers pour vérifier si l'utilisateur est connecté:
<? session_start();
if ($_SESSION['logged_in'] != true)
{
header("Location: auth.php?flag=not");
exit;
}
?>
Mais cela ne semble pas fonctionner, que je ferme la fenêtre et essayer de l'ouvrir à nouveau et il ne me redirige pas vers la page de connexion (auth.php).
Qu'est-ce que je fais mal? Toute aide est appréciée.
Vous devez quitter complètement votre navigateur et/ou effacer les cookies, et pas seulement fermer une fenêtre. –
Au moins, vous n'avez pas utilisé 'session_start()' dans votre autre fichier avant d'accéder à $ _SESSION. – initall
La première redirection d'en-tête fonctionne-t-elle? –