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 -
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.
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.
Configuration: Windows XP / Firefox 3.6 Wamp PHP 5.3 MySql 5.1
15 réponses
-
bonjour,
le formuliare peut renvoyer sur la même page avec un indicateur qui permet de distinguer le 1er passsage ou le second.
-
-
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";
}
?>
-
Merci
j'suis désolé mais je vois pas le truc du passage 1 ou 2 ?!
je me suis peut être mal expliquée. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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
}
?>
-
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. -
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();
-
J'ajoute donc la fonction "session_start()" dans la page ou je veux tester le login ?
-
-
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 !! -
-
Bonsoir,
l'affichage c'est avec un echo.
enlevez l'echo et trvaillez avec le contenu de cette varaible
exemple
if ($_SESSION['login']== etc
-
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 -
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é.
-
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)