Variable $_SESSION

Résolu/Fermé
sebastien - 28 oct. 2008 à 11:29
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 - 28 oct. 2008 à 15:08
Bonjour,

j'ai créé un page PHP permettant aux utilisateurs de se connecter sur un site. Cette page contient une variable $_SESSION du login afin de pouvoir identifier la personne connecté et de lui attribuer ses droits sur les fichiers.

mais une fois que je change de page (je passe sur mon index.html), la variable semble vide.

Voici le code de le page PHP :

<?php
session_start();

// Connexion à la base MySql

include('connect.php');


if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) {
extract($_POST);
// on recupère le password de la table qui correspond au login du visiteur
$sql = "select pwd from user where login='".$login."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

$data = mysql_fetch_assoc($req);

if($data['pwd'] != $pass) {
//echo '<p>Mauvais login / password. Merci de recommencer</p>';
include('index.html'); // On inclut le formulaire d'identification
exit;
}
else {

$_SESSION['login'] = $login;

//echo 'Vous etes bien logué';
// ici vous pouvez afficher un lien pour renvoyer
// vers la page d'accueil de votre espace membres
header('Location: index2.html');
}
}
else {
echo '<p>Vous avez oublié de remplir un champ.</p>';
include('index.html'); // On inclut le formulaire d'identification
exit;
}


?>


et ensuite voici le code de ce que j'aimerais afficher sur l'autre page PHP :

<?
include('connect.php');

$sql='select nom_user, prenom_user from user where login="'.$_SESSION['login'].'";';
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

$data = mysql_fetch_array($req);

echo "Bienvenue $data[0] $data[1]";

?>

Voilà si quelqu'un peut me venir en aide ce serait cool.

Merci d'avance pour vos réponses.

6 réponses

Merci.

Mais ma variable n'est visible que sur index2.php ?? Car ce n'est pas sur cette page que je souhaite la conservé mais sur tout le site afin de savoir quel est l'utilisateur connecté.

Dois-je rajouter une ligne de code sur ma page ??
0
bissdebrazza Messages postés 2065 Date d'inscription vendredi 29 juin 2007 Statut Contributeur Dernière intervention 7 décembre 2017 712
28 oct. 2008 à 12:17
re

dans ce cas,toutes tes pages de ton site dois etre en php afin de transmettre la session dans toutes les pages!!
0
Re

Ca y est tout mon site est en php sauf la premiere page contenant le formulaire de login (qui renvoie vers login.php)

Mais je n'arrive toujours pas à retrouve ma valeur dans $_SESSION... ça n'affiche rien
0
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
28 oct. 2008 à 14:39
N'oublie pas non plus de mettre
session_start();
au début de chaque page (avant le moindre code HTML) auquel tu utilise les sessions sinon toutes tes variables SESSION seront vide (inexistante)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
C'est bon ça fonctionne

Merci énormément à vous deux

A+
0
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
28 oct. 2008 à 15:08
Pas de problème :)
0
bissdebrazza Messages postés 2065 Date d'inscription vendredi 29 juin 2007 Statut Contributeur Dernière intervention 7 décembre 2017 712
28 oct. 2008 à 11:42
salut!

c'est normal,le html ne lis pas le php,donc met ta page index en php et bien sur transmettre la session sur cette nouvelle page!
-1