Pb récupération valeur login pour acces page

Résolu
liadea Messages postés 129 Statut Membre -  
liadea Messages postés 129 Statut Membre -
Bonjour,

Après plusieurs tests je me permets de poster ce message en espérant que l'un d'entre vous aura une idée fabuleuse !!

J'explique :

J'ai un formulaire de connexion avec login et pwd que je récupère dans une table sql

après vérification redirection sur une page d'accueil sur laquelle il y a 2 liens vers des pages

sur un de ces liens je souhaiterai faire une vérification de la valeur du login :
si il s'agit de 'Admin' on à le droit de faire des modifications ou des suppressions
si il s'agit de n'importe qui d'autre, je souhaiterai que ces boutons ne soient pas accessible.

et bien sur éviter de refaire 2 fois la même page sans les boutons.

Est ce possible ?

Merci par avance.
A voir également:

15 réponses

giheller Messages postés 1960 Date d'inscription   Statut Membre Dernière intervention   146
 
bonjour,

le formuliare peut renvoyer sur la même page avec un indicateur qui permet de distinguer le 1er passsage ou le second.
0
liadea Messages postés 129 Statut Membre
 
C'est possible d'avoir un peu plus d'explications ?
0
giheller Messages postés 1960 Date d'inscription   Statut Membre Dernière intervention   146
 
voilà
<?php
// ce script s'appelle formulaire.php
$passage=1;
if (isset($_POST)) {
$passage = $_POST['passage'];
}
if ($passage=1){
echo "<form name=formulaire action='formulaire.php' method='POST'>";
//on met ici les trucs du formulaire

echo "<input type='submit' value='envoi'>";
echo "<input type='hidden' name='passage' value=2>";
echo "</form>";
}
else {
echo "second passage";
}
?>

0
liadea Messages postés 129 Statut Membre
 
Merci
j'suis désolé mais je vois pas le truc du passage 1 ou 2 ?!
je me suis peut être mal expliquée.
0

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

Posez votre question
giheller Messages postés 1960 Date d'inscription   Statut Membre Dernière intervention   146
 
désolé j'avais pas bien saisi le premier message

dans la page, il faut tester si par exemple profil='admin'
et là on affiche ou pas ce que l'on veut
ça donne quelqe chose comme ça
<?php
$profil= $_SESSION['profil'];
//echo "profil ".$profil;
if ($profil!='0') {
// menu normal sans bouton
}
else {
//menu administrateur avec bouton
}
?>
0
liadea Messages postés 129 Statut Membre
 
Pas de mal merci de répondre !
Bah en fait c'est pas au niveau du menu d'accueil que ça pose problème mais à la page suivante.
Sur le menu d'accueil j'ai 2 liens vers 2 pages
un lien me renvoi vers une page ou l'on peut faire des modifications , des ajouts et des suppressions et je souhaiterai que ces options ne soient disponibles que si le login a été identifié comme Admin.
Sinon je n'affiche pas les boutons.

c'est clair ou pas du tout
en fait , récupérer la valeur du login mais 2 pages après.
0
giheller Messages postés 1960 Date d'inscription   Statut Membre Dernière intervention   146
 
on peut alors garder la valeur du login dans une variable de session
$_SESSION['login'] = $leprofil;

cela on la récupère où l'on veut en gérant avec session_start();
0
liadea Messages postés 129 Statut Membre
 
J'ajoute donc la fonction "session_start()" dans la page ou je veux tester le login ?
0
giheller Messages postés 1960 Date d'inscription   Statut Membre Dernière intervention   146
 
dans les pages où on a besoin de $_SESSION
0
liadea Messages postés 129 Statut Membre
 
MERCI monsieur !!
0
liadea Messages postés 129 Statut Membre
 
Bonjour,
je me permets de revenir sur ce sujet car en fait oui faire appel à la méthode session_start ça fonctionne pour faire un echo $_SESSION['login'];
Cependant j'ai besoin de la valeur $_SESSION['login'] dans une seconde page mais pas de l'affichage .
Je souhaiterai savoir la valeur saisie dans la page loing.php et faire un test sur une autre page pour faire différentes instructions.

<CODE> :

LOGIN.PHP

session_start();

$sql="SELECT login,pwd FROM admin";
$resu=mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

if ($data= mysql_fetch_array($resu)){
$login=$data['login'];
$pwd=$data['pwd'];

if ((isset($_POST['login']))and(isset($_POST['password']))){
$log=$_POST['login'];
$pw=$_POST['password'];

if(($log==$login)and($pw==$pwd)){
$_SESSION['login']=$log;
$_SESSION['password']=$pw;
header('Location:accueil.php');
}else{

?>
<script type="text/javascript">alert("Mdp incorrect pour Admin !!")</script>
<?php

}if(($log!=$login)and($pw!=$pwd)){
$_SESSION['login']=$log;
$_SESSION['password']=$pw;
header ('location: accueil.php');
}
}
}

ACCUEIL.PHP:
<p>BONJOUR,
<?php
session_start();
echo $_SESSION['login'];

?>
<p>Nous sommes le...

Sur cette page il y a 2 liens vers 2 autres pages :
<td style="font-size:17px" width="50%"><center><a href="ping.php">Notifications</a></center></td>
</tr>
<tr>
<br/><br/>
<td style="font-size:17px" width="50%"><center><a href="ua.php">Liste des UA</a></center></td>

Lorsque l'on clique sur le second lien on arrive sur une nouvelle page, et c'est sur cette page que je voudrais détecter la valeur du login

UA.PHP :


if ($_SESSION['login']!='Admin'){
La le login est rentré en dur et il me faudrait la variable saisie dans la page login mais je vois pas comment faire !
Si c'est Admin j'ai le droit à des modifs sinon non !

?>
<td><input type="button" name="modifier" value="Modifier" id="modifier" onClick="modifierUA('<?php echo $tab['AdresseIP']; ?>');" style="font-size:12px" disabled="true"/></td>
<td><input type="button" name="supprimer" value="Supprimer" id="supprimer" onClick="supprimerUA('<?php echo $tab['AdresseIP'];?>');" style="font-size:12px" disabled="true"/></td>

<?php }else{?>

<td><input type="button" name="modifier" value="Modifier" id="modifier" onClick="modifierUA('<?php echo $tab['AdresseIP']; ?>');" style="font-size:12px"/></td>
<td><input type="button" name="supprimer" value="Supprimer" id="supprimer" onClick="supprimerUA('<?php echo $tab['AdresseIP'];?>');" style="font-size:12px"/></td>

Merci pour vos conseils car la je suis un peu perdue !!
0
liadea Messages postés 129 Statut Membre
 
un p'tit UP SVP !!
0
giheller Messages postés 1960 Date d'inscription   Statut Membre Dernière intervention   146
 
Bonsoir,

l'affichage c'est avec un echo.
enlevez l'echo et trvaillez avec le contenu de cette varaible

exemple
if ($_SESSION['login']== etc

0
liadea Messages postés 129 Statut Membre
 
Bonjour,

Je l'ai fait cette méthode :
UA.PHP :

if ($_SESSION['login']!='Admin'){

sauf que je ne voudrais pas rentrer la valeur du login en dur , ici 'Admin'.
Je voudrais pouvoir récupérer la valeur saisie dans le formulaire d'authentification, login.php
0
giheller Messages postés 1960 Date d'inscription   Statut Membre Dernière intervention   146
 
bonsoir,
si dans la variable de session vous mettez le login et que vous testez ensuite le login et la variable session elles donneront toujours égalité.
0
liadea Messages postés 129 Statut Membre
 
Auriez - vous une solution à me proposer parce que je ne vois pas vraiment comment faire ?

Merci
0
giheller Messages postés 1960 Date d'inscription   Statut Membre Dernière intervention   146
 
Bonsoir,

Il faut donc trouver une solution pour connaitre la droits à donner à la personne qui se connecte.
je vous suggère d'ajouter un profile dans la table des utilisateurs
avec exemple :
administrateur profil = 0
gestionnaire profil = 1
visteur profil = 2

à la connexion vous vérifiez que le mot de passe est correct et vous stockez en session la valeur du profil.
ensuite
vous pouvez faire :

switch ($_SESSION['profil'])
{
case 1:
//afficher les boutons administrateur
break;
case 2 :
// afficher les boutons gestionnaires
break;
case 3 :
// afficher les boutons visteurs
break;
default :
//afficher les boutons utilistaeurs
break;
}

Pour qu'il ait le moins de mécontents possible il faut toujours taper sur les mêmes.
(comme vous l'avez reconnu : proverbe shadocks)
0
liadea Messages postés 129 Statut Membre
 
Merci j'essaie cette méthode dès demain matin.
Encore merci pour votre aide
0
liadea Messages postés 129 Statut Membre
 
Bonjour,
Merci pour le conseils, j'ai pas vraiment fait pareil mais ça fonctionne tout aussi bien !

Encore un Grand Merci

Très bonne journée !!
0