Probleme avec un $_SESSION vide

Résolu/Fermé
Biggus - 8 juin 2008 à 22:12
 Biggus - 9 juin 2008 à 14:06
Bonjour,
Voilà j'ai un problème : j'ai une page dans laquelle j'ai deux input (login et password) pour faire un login , je les passe à une page veriflogin.php qui vérifie si password correspond au mot de passe de ma base de données , si c'est bon je fais un $data = mysql_fetch_assoc($req); ( $req est une requête SQL)
if ($_POST['password'] == $data['mdpass']) {
$_SESSION['priorite'] = $data['priorite'];} ( priorite est un champ qui contient 1,2 ou 9 pour les droits de la personne loguée.)
Ensuite un header vers mon index.php qui inclue un menu.php qui vérifie $_SESSION pour ajouter des options dans le menu mais ces dernières ne s'affichent pas. J'ai mis tous les session_start(); nécessaires même dans index.php qui est codée en html , quand j'essaie d'afficher $_SESSION, il n'y a rien.

2 réponses

Rebonjour, désolé d'insister mais c'est assez urgent donc si je pouvais avoir une réponse assez rapide ça m'arrangerait. De préférence avant mardi. Merci ^^.
0
PhP Messages postés 1767 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 606
9 juin 2008 à 09:08
Bjr

Ta démarches est à priori bonne ... poste les codes de tes pages php si tu veux qu'on puisse t'aider
0
Bonjour,
Voilà le code de index.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<?php
session_start();
?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Projet PHP-MYSQL</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" media="screen" type="text/css" title="Style" href="design.css"/>
</head>
<body>
<div id="en_tete">
<a href="index.php"><img src="Ammunation.jpg" width="757" height="150"/></a>
</div>
<?php
include ("menu.php");
?>
<div id="corps" align="center">
<h1>AMAZING THIS WEEK, EXCLUSIF CORNER SHOT ON AMMUNATION</h1>
<img src="http://files.uzitalk.com/reference/shows/shotshow2004/cornershot.jpg" width="500" >
<div align="center" style="visibility:block">
<div><object width="420" height="335"><param name="movie" value="https://www.dailymotion.com/embed/video/x3upm2?autoPlay=1&related=1"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="https://www.dailymotion.com/embed/video/x3upm2?autoPlay=1&related=1" type="application/x-shockwave-flash" width="420" height="335" allowFullScreen="true" allowScriptAccess="always"></embed></object><br /><b></div>
</div>
</div>
<?php
echo 'vjhsdj'.$_SESSION['priorite'].'hgdh';
?>
</div>
</body>
</html>

Voilà le code de menu.php:

<?php session_start();
include("connex.php");
?>
<div id="menu">
<div class="element_menu">
<form method="post" action="veriflogin.php">
Votre login
<input type="text" name="login">
Votre mot de passe
<input type="password" name="password">
<input type="submit" name="submit" value="login">
</form>
<h3>Consultation</h3>
<form name="bouton" action="listfam.php" method="GET" >
<ul>
<li>Liste de produits par famille:
<select name="FAMSEL" id="FAMSEL">
<?php
$sql="SELECT * FROM famille";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($data = mysql_fetch_assoc($req))
echo '<option value="'.$data['codfam'].'">'.$data['nomfam'].'</option>';
?>
</select>
<input type="submit" name="CONSULTF" id="CONSULTF" value="Voir">
</li>
</form>
<li><a href="all.php">Liste des produits</a></li>
</ul>
<?php
if ($_SESSION['priorite'] == "'2'")
echo 'bonjour';
else echo'salut';
if ($_SESSION['priorite'] == '1') {
echo '<h3><a href="creation.php">Création</a></h3>';
echo '<h3><a href="modification.php">Modification</a></h3>';
echo '<h3><a href="suppression.php">Suppression</a></h3>';}
?>
</div>
</div>

Et voilà le code de veriflogin.php:

<?php
session_start();
include ("connex.php");
if ( isset($_POST['login']) && (isset($_POST['password'])) ) {
$sql = "SELECT ident,mdpass FROM personne WHERE ident = '".$_POST['login']."'";
$req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
if (mysql_num_rows($req) > 0) {
$data = mysql_fetch_assoc($req);
if ($_POST['password'] == $data['mdpass']) {
$_SESSION['priorite'] = $data['priorite'];
}
}
}
header ("location:index.php");
?>

Voilà je pense qu'il y a tout.
0
Biggus > Biggus
9 juin 2008 à 14:06
Rebonjour,
C'est bon plus de soucis j'ai trouvé : il manquait priorite dans la requête SQL de veriflogin.php.
(et ouais c'était tout con mais bon je l'ai pas vu )
Désolé de vous avoir dérangé et d'avoir sorti un post aussi gros pour ça ^^.
0