Besoin d'aide $_session php
Résolu
snowflakedu59
Messages postés
90
Date d'inscription
Statut
Membre
Dernière intervention
-
hub lg ,lgf b -
hub lg ,lgf b -
Bonjour,
je voudrais savoir comment proceder :
j'ai ca : http://del.resto.free.fr
je suis en train de voir pour l'authentification, j'aimerais que lorsque l'on est connecté, le formulaire d'identification sois remplacé par un menu correspondant a chaque utilisateur selon le service auquel il appartient .
pour l'instant j'ai ca :
<?php
// On démarre la session
session_start();?>
<div class="element_menu1"> <!-- Cadre correspondant à un sous-menu -->
<h3>Rubriques</h3>
<ul>
<li><a href="index.php">Accueil</a></li>
<li><a href="index.php?page=carteetmenu">Cartes et menus</a></li>
<li><a href="index.php?page=news">Info' du jour</a></li><br /><br />
</ul>
</div>
<div class="element_menu2">
<h3>Contact</h3>
<ul>
<li><a href="index.php?page=contacter_delresto">Nous contacter</a></li>
<li><a href="index.php?page=livreOr">Livre d'or</a></li>
<li><a href="index.php?page=authentification">FAQ</a></li><br /><br />
</ul>
</div>
<div class="element_menu3">
<?php // cf Astuce
if (isset ($_SESSION['Login']))
{
if ($_SESSION['service'])= 'Achat'
{echo 'menu achat'
}
else if ($_SESSION['service'])= 'client'
{echo 'menu client'
}
else if ($_SESSION['service'])= 'production'
{echo 'menu production'
}
else if ($_SESSION['service'])= 'administrateur'
{echo 'menu administrateur'
}
}
else if (isset($_POST['login']))
{
// On va chercher le mot de passe afférent à ce login
$sql = "SELECT * FROM utilisateurs WHERE login = '".addslashes($login)."'";
$req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
// On vérifie que l'utilisateur existe bien
if (mysql_num_rows($req) > 0) {
$data = mysql_fetch_assoc($req);
// On vérifie que son mot de passe est correct
if ($password == $data['mdp']) {
$loginOK = true;
}
}
}
// Si le login a été validé on met les données en sessions
if ($loginOK) {
$_SESSION['Login'] = $data['Login'];
$_SESSION['Mot de passe'] = $data['Mot de passe'];
$_SESSION['Nom'] = $data['Nom'];
$_SESSION['Prénom'] = $data['Prénom'];
$_SESSION['Service'] = $data['Service'];
}
else { ?>
<form method="post" action="index.php?page=traitementauthentification">
<b>Connexion</b>
<h4>
login:<br>
<input type="text" size="8" name="nom" id="nom" tabindex="20" /><br>
mot de passe:
<input type="password" size="8" name="mot de passe" id="mot de passe" tabindex="20"/><br>
<input type="submit" name="valider" value="ok" ></h4>
<form>
</div>
<?php
}
?>
je voudrais savoir comment proceder :
j'ai ca : http://del.resto.free.fr
je suis en train de voir pour l'authentification, j'aimerais que lorsque l'on est connecté, le formulaire d'identification sois remplacé par un menu correspondant a chaque utilisateur selon le service auquel il appartient .
pour l'instant j'ai ca :
<?php
// On démarre la session
session_start();?>
<div class="element_menu1"> <!-- Cadre correspondant à un sous-menu -->
<h3>Rubriques</h3>
<ul>
<li><a href="index.php">Accueil</a></li>
<li><a href="index.php?page=carteetmenu">Cartes et menus</a></li>
<li><a href="index.php?page=news">Info' du jour</a></li><br /><br />
</ul>
</div>
<div class="element_menu2">
<h3>Contact</h3>
<ul>
<li><a href="index.php?page=contacter_delresto">Nous contacter</a></li>
<li><a href="index.php?page=livreOr">Livre d'or</a></li>
<li><a href="index.php?page=authentification">FAQ</a></li><br /><br />
</ul>
</div>
<div class="element_menu3">
<?php // cf Astuce
if (isset ($_SESSION['Login']))
{
if ($_SESSION['service'])= 'Achat'
{echo 'menu achat'
}
else if ($_SESSION['service'])= 'client'
{echo 'menu client'
}
else if ($_SESSION['service'])= 'production'
{echo 'menu production'
}
else if ($_SESSION['service'])= 'administrateur'
{echo 'menu administrateur'
}
}
else if (isset($_POST['login']))
{
// On va chercher le mot de passe afférent à ce login
$sql = "SELECT * FROM utilisateurs WHERE login = '".addslashes($login)."'";
$req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
// On vérifie que l'utilisateur existe bien
if (mysql_num_rows($req) > 0) {
$data = mysql_fetch_assoc($req);
// On vérifie que son mot de passe est correct
if ($password == $data['mdp']) {
$loginOK = true;
}
}
}
// Si le login a été validé on met les données en sessions
if ($loginOK) {
$_SESSION['Login'] = $data['Login'];
$_SESSION['Mot de passe'] = $data['Mot de passe'];
$_SESSION['Nom'] = $data['Nom'];
$_SESSION['Prénom'] = $data['Prénom'];
$_SESSION['Service'] = $data['Service'];
}
else { ?>
<form method="post" action="index.php?page=traitementauthentification">
<b>Connexion</b>
<h4>
login:<br>
<input type="text" size="8" name="nom" id="nom" tabindex="20" /><br>
mot de passe:
<input type="password" size="8" name="mot de passe" id="mot de passe" tabindex="20"/><br>
<input type="submit" name="valider" value="ok" ></h4>
<form>
</div>
<?php
}
?>
A voir également:
- Besoin d'aide $_session php
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
2 réponses
Salut,
QQs erreurs:
Essayes comme ça:
QQs erreurs:
Essayes comme ça:
<?php // On démarre la session session_start(); $loginOK=false; ?> <div class="element_menu1"> <!-- Cadre correspondant à un sous-menu --> <h3>Rubriques</h3> <ul> <li><a href="index.php">Accueil</a></li> <li><a href="index.php?page=carteetmenu">Cartes et menus</a></li> <li><a href="index.php?page=news">Info' du jour</a></li><br /><br /> </ul> </div> <div class="element_menu2"> <h3>Contact</h3> <ul> <li><a href="index.php?page=contacter_delresto">Nous contacter</a></li> <li><a href="index.php?page=livreOr">Livre d'or</a></li> <li><a href="index.php?page=authentification">FAQ</a></li><br /><br /> </ul> </div> <div class="element_menu3"> <?php // cf Astuce if (isset ($_SESSION['Login'])){ $loginOK=true; if ($_SESSION['service']== 'Achat'){//tu avais des erreus sur les 4 tests double = et ) pas à la bonne place echo 'menu achat'; //et le point virgule } else if ($_SESSION['service '] =='client'){ echo 'menu client'; } else if ($_SESSION['service']== 'production'){ echo 'menu production'; } else if ($_SESSION['service']== 'administrateur'){ echo 'menu administrateur'; } } elseif (isset($_POST['login'])){ //recup des valeurs postées $login=htmlentities($_POST['login']);//ça c'est une protection de sécurité $password=htmlentities($_POST['motdepass']);//il ne faut as mettre d'espce dans les noms de variables ou les name des input // On va chercher le mot de passe afférent à ce login $sql = "SELECT * FROM utilisateurs WHERE login = '".addslashes($login)."'"; $req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql); // On vérifie que l'utilisateur existe bien if (mysql_num_rows($req) > 0) { $data = mysql_fetch_assoc($req); // On vérifie que son mot de passe est correct if ($password == $data['mdp']) { $loginOK = true; } } } // Si le login a été validé on met les données en sessions if ($loginOK) { $_SESSION['Login'] = $data['Login']; $_SESSION['Mot de passe'] = $data['Mot de passe']; $_SESSION['Nom'] = $data['Nom']; $_SESSION['Prénom'] = $data['Prénom']; $_SESSION['Service'] = $data['Service']; } else { ?> <form method="post" action="index.php?page=traitementauthentification"> <b>Connexion</b> <h4> login:<br> <input type="text" size="8" name="login" id="login" tabindex="1" /><br> <!-- tu avait mis name="nom" et tu testes par php $_POST['login'] !!! --> mot de passe:<br> <input type="password" size="8" name="motdepass" id="motdepass" tabindex="2"/><br> <input type="submit" name="valider" value="ok" tabindex="3" /></h4> <!-- les tabindex, c'est l'ordre de passage d'un champ à l'autre par la touche TAB --> </form> <!-- erreur il te manquait le / --> </div> <?php } ?>