8791 sujets

Développement web côté serveur, CMS

Bonjour,

Je me bagarre avec Mysql et le Php ... j'arrive à progresser mais c'est laborieux. Il me manque quelques bases en PHP, mais j'arrive déjà à quelques résultats.
Je cale par contre sur un problème qui m'empêche de continuer ... Mon but c'est d'exploiter une base de données plus pour le plaisir que par nécessité.
Je développe un morceau de site pour exploiter ma base de données. on accède à cette partie par l'intermédiaire d'un login et d'un mot de passe, qui donne accès à une page "membre" à partir de laquelle je peux afficher le résultat de requêtes Mysql. Certaines pages sont réservées au bureau d'une petite association, vérifiant un champ "fonction" ( valeur "A" pour autorisation). Je souhaite naviguer entre ces pages au cours de la session, quand j'en affiche une, pas de problème mais quand je veux en consulter une autre la variable $_session Smiley login prend le login du dernier adhérent sur la base qui lui ...n'est pas autorisé ... puisqu'il n'est pas au bureau !
Voila le script, le problème se produit quand on passe dans le "elseif", quand on passe dans le "if", je navigue entre les pages avec bien sur le message prévu ! Je fais appel à session_start à chaque début de page.




  <?php
echo "$_SESSION[login]";
$base = mysql_connect ('localhost', 'root', '');
$requete3 = "select * from membres where login='$_SESSION[login]'";
$resultat3 = mysql_db_query( "doubleclpadh", $requete3);
$voir3=mysql_fetch_assoc($resultat3);
extract($voir3);
if ($fonction!="A")
{
echo "<tr width'100%'><font face='Verdana, Arial, Helvetica, sans-serif' size='3'><b><font size='3'>Vous n'êtes pas autorisé à consulter ces informations";
echo"</tr>";
exit;
}
elseif ($fonction=="A")
{
$requete4 = "select * from membres";
$resultat4 = mysql_db_query( "doubleclpadh", $requete4);
while($voir4=mysql_fetch_array($resultat4))
{
extract($voir4);
echo "<tr width'100%'><font face='Verdana, Arial, Helvetica, sans-serif' size='2'><b><font size='2'>";
echo "<td width'10%'><font face='Verdana, Arial, Helvetica, sans-serif' size='2'><b><font size='2'>$id";
echo "<td width'30%'><font face='Verdana, Arial, Helvetica, sans-serif' size='2'><b><font size='2'>$prenom $nom";
echo "<td width'30%'><font face='Verdana, Arial, Helvetica, sans-serif' size='2'><b><font size='2'>$mail";
echo "<td width'30%'><font face='Verdana, Arial, Helvetica, sans-serif' size='2'><b><font size='2'>$tel_fixe";
echo "<br>";
echo "</td></tr>";
}
}
?>


J'ai rajouté une ligne à la fin du script
$_SESSION Smiley login = "$visiteur";
?>
cela marche mieux mais j'ai une erreur : Notice: Use of undefined constant login - assumed 'login' in C

Pourquoi est-ce que je perds la valeur de $_SESSION Smiley login en affichant une autre page qui a à peu près le même script.
Merci de votre aide
bonjour,

$_SESSION est un tableau , et il s'utilise comme un tableau , par exemple
$-SESSION['login'] = $mavaleur

par affecter une valeur à cette variable de session

voilà
bon courage dans ton combat "mysql-php" Smiley langue

ps : le post devrait etre plutot dans la section Langages ...il me semble .! (c'est fait -- Igor Smiley cligne )
Modifié par Igor (05 Jul 2008 - 23:25)