Je m'apelle Thomas, je suis actuellement en 2ème année d'IUT Réseaux et Télécoms et j'effectue un stage d'informatique pour la validation de celui-ci. Je ne suis pas un "pro" de la prog, mais j'aime ce que je fais même si à la base je suis plus compétant en réseaux. Je suis entrain de développer une petite platforme de demande de maintenance et de visualisation de l'inventaire informatique du lycée (=+400 postes) .J'écris pour demander une petite aide dans l'établissement de ma session. J'ai codé une interface administrateur et une interface user. J'ai ensuite une page hml/css de connection avec login,mdp et un bouton valider. Ce que j'ai envie c'est que l'utilisateur soit redirigé vers son interface en fonction des identifiants qu'il rentre. J'arrive à me connecter et à me rediriger, j'ai même la petite fenêtre de demande de mdp en cache qui s'ouvre pour me demander de le garder. Seulement une fois sur l'interface j'ai l'impression de ne pas être connecté, j'ai rajouté un bout de code pour voir si la variable session user était présente et il me dit non. En gros j'ai l'impression que mes variables de sessions ne se propagent pas dans mon site et que rien est retenu. J'ai étudié les sessions, compris leur fonctionnement. Je ne veux pas d'inscription sur mon site, juste une connexion et une deco. Si tu pouvais m'aider ce serai vraiment sympa, je dois rendre ce projet demain et je bloque sur ma session ..
J'ai mes 2 champs username et password. J'ai ma BD fonctionnelle avec une table users qui contient ces données.
Voici ma page login.php (je sais que les mdp ne sont pas hachés, que la prog peut faire débutant, je compte le faire mais je voudrais d'abord régler cette page pour le principe)
<?php
include 'fonctions.connect.php';
if(isset($_POST['username'], $_POST['password']))
{
//On echappe les variables pour pouvoir les mettre dans des requetes SQL
if(get_magic_quotes_gpc())
{
$username = mysql_real_escape_string(stripslashes($_POST['username']));
$password = stripslashes($_POST['password']);
}
else
{
$username = mysql_real_escape_string($_POST['username']);
$password = $_POST['password'];
}
//On recupere le mot de passe de lutilisateur
$req = mysql_query('select password,id from users where username="'.$username.'"');
$dn = mysql_fetch_array($req);
//On le compare a celui quil a entre et on verifie si le membre existe
if($dn['password']==$password and mysql_num_rows($req)>0)
{
//Si le mot de passe es bon, on ne vas pas afficher le formulaire
$form = false;
//On enregistre son pseudo dans la session username et son identifiant dans la session userid
$_SESSION['username'] = $_POST['username'];
$_SESSION['userid'] = $dn['id'];
session_start();
if($_POST['username']=='root1' && $_POST['password']=='saintex01')
{
header("location: /admin/index.php" );
}
else
{
header("location: /User/index.php" );
}
}
else
{}
}
?>
Au début de ma page après redirection j'ai placé le code suivant :
<?php
session_start();
if(!isset($_SESSION['username'])) {
echo 'Vous n\'êtes pas autoris' à acceder à cette zone';
header("location: /Acceuil/index.php" );
exit;
}
?>
Et si je mets
<?php
if (isset($_SESSION['username']) && $_SESSION['username'] != '')
{
echo 'user connecté';
}
else
{
echo 'user non connecté';
}
?>
il me dit que je ne suis pas connecté. Merci d'avance de lire et de prendre le temps de me répondre.