Bonjour,
J'ai un problème de variable de session, en effet la variable $_SESSION['pseudo'] qui possède une valeur correcte a l'affichage de ma page apres le premier indentification, perd sa valeur lors d'un changement de page a sur le site meme.
quelqu’un saurait-il comment empêcher cela?
En vous remerciant.
Le code en question:
index.php
Le code de la page de login (login.php)
Exemple de l'une des pages chargées:
forum.php
Modifié par zurim (10 Jul 2007 - 10:43)
J'ai un problème de variable de session, en effet la variable $_SESSION['pseudo'] qui possède une valeur correcte a l'affichage de ma page apres le premier indentification, perd sa valeur lors d'un changement de page a sur le site meme.
quelqu’un saurait-il comment empêcher cela?
En vous remerciant.
Le code en question:
index.php
<?
session_start() ;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<!-- titre -->
<title>Projet PHP</title>
<!-- Lien du css -->
<link href="css/index.css" rel="stylesheet" media="screen" type="text/css" title="design" />
<!-- Auteur de la page -->
<meta name="author" content="David, Matias et Remi" />
<!-- Description de la page -->
<meta name="description" content="Site web pour projet PHP" />
<!-- Mots-clés de la page -->
<meta name="keywords" content="Projet, Site, Web, Dynamique" />
<!-- Adresse de contact -->
<meta name="reply-to" content="hastaran.matias@gmail.com" />
<!-- Icône du site -->
<link rel="shortcut icon" type="image/x-icon" href="" />
</head>
<body>
<?
//inclusion de l'objet
include ("objet/class_connect.php");
?>
<div id="fond">
<div id="header"></div>
<div id="menugauche">
<div id="menugauchehaut"></div>
<div id="menugauchemilieu">
<div id="textesmenus">
<a href="index.php?page=fofo">fofo</a><br/>
<a href="index.php?page=">acceuil</a><br/>
<?include ("login.php") ;?>
</div><!-- fermeture du div textesmenus -->
</div><!-- fermeture du div menugauchemilieu -->
</div><!-- fermeture du div menugauche -->
</div>
<div id="corp">
<?
if ($_GET['page'] == "fofo")
{
include("forum.php");
}
?>
</div>
<div id="menudroit">
<div id="menudroithaut"></div>
<div id="menudroitmilieu">
<div id="textesmenus">
<?
echo $_SESSION['pseudo'];
echo $_SESSION['logged'];
?>
</div><!-- fermeture du div textesmenus -->
</div><!-- fermeture du div menudroitlilieu -->
</div><!-- fermeture du div menudroit -->
</div><!-- fermeture du div fond -->
</body>
</html>
Le code de la page de login (login.php)
<html>
<head>
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design/login.css" />
</head>
<body>
<?
if (((isset ($_SESSION['logged']) AND $_SESSION['logged'] == true)) OR ((isset($_POST['pseudo']) AND isset($_POST['mot_passe']))))
{
$bdd_connect = new bdd_connect();
$bdd_connect -> connect();
if (!empty($_POST['pseudo']) && !empty($_POST['mot_passe']) OR ((isset ($_SESSION['logged']) AND $_SESSION['logged'] == true)))
{
$pseudo2 = $_SESSION['pseudo'];
$pseudo = htmlspecialchars($_POST['pseudo']);
$mot_passe = htmlspecialchars($_POST['mot_passe']);
$sql = mysql_query("SELECT * FROM user WHERE login='" . $pseudo . "'");
$sql2 = mysql_query("SELECT * FROM user WHERE login='" . $pseudo2 . "'");
$verif = mysql_fetch_array($sql);
$verif2 = mysql_fetch_array($sql2);
$bdd_connect->close();
if ($verif != NULL OR $verif2 != NULL)
{
if ($verif['pass'] == $mot_passe OR ((isset ($_SESSION['logged']) AND $_SESSION['logged'] == true)))
{
$_SESSION['pseudo'] = $pseudo;
$_SESSION['logged'] = true;
?>
<div id="titre">Bonjour <? echo $_SESSION['pseudo']; ?>. </div><br/>
<div id="corp2">Nous somme le <? echo date('d/m/Y'); ?>.<br/>
Il est <? echo date('H'); ?>:<? echo date('i'); ?>.
<?
}
else
{echo 'Erreur : le mot de passe est incorrect !'; }
}
else
{echo "Erreur : le pseudo n\'existe pas !"; }
}
else
{echo "Erreur : veuillez remplir tous les champs !"; }
}
else
{
?>
<form method="post" action="index.php">
<p>
<label for="pseudo">Pseudo : <input type="text" name="pseudo" id="pseudo" /></label>
<label for="mot_passe">Mot de passe : <input type="password" name="mot_passe" id="mot_passe" /></label>
<input type="submit" name="connexion" value="Se connecter" /> </p>
</form>
<?
}
?>
</body>
</html>
Exemple de l'une des pages chargées:
forum.php
<html>
<head>
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design/forum.css" />
</head>
<body>
<?
//connection a la bdd
$bdd_connect = new bdd_connect();
$bdd_connect -> connect();
//recuperation des données
$cat = mysql_query("SELECT id, nom FROM forum_cat");
while($cat2 = mysql_fetch_array($cat))
{
?>
<b><? echo $cat2['nom']?></b><br/>
<?
$sscat = mysql_query("SELECT id, titre FROM forum_sscat WHERE id_cat ='". $cat2['id'] ."'");
while($sscat2 = mysql_fetch_array($sscat))
{
?>
<a href="topic.php?sscat=<? echo $sscat2['id']?>"><? echo $sscat2['titre']?><br/></a>
<?
}
}
//cloture de la session mysql
$bdd_connect->close();
?>
<? echo $_SESSION['pseudo']; ?>
<body>
</html>
Modifié par zurim (10 Jul 2007 - 10:43)