|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Maxime Administrateur systèmes et réseaux Inscription : novembre 2012 Messages : 1 ![]() |
Bonjour ou même bonsoir à vous.
Aujourd'hui, je m'inscris sur votre site afin d'avoir une réponse (peut-être) à ma question. J'ai en effet un problème avec PHP, concernant les Szssions ainsi que les variables. Je vous l'expose : J'ai un site qui gère une partie membre, ainsi qu'une partie Administration. J'ai une base de donnée avec une table nommée membres, et dans celle-ci plusieurs champs. Un champs concernant les rangs des utilisateurs est nommé membre_rang. Je souhaite faire un accès à l'Administration UNIQUEMENT aux utilisateurs ayant le rang à 2 (Egal ou supérieur) dans la table membre_rang. Il me faut faire une condition, ça ok. Sauf, qu'il faut 'extraire' les informations de la base de donnée et la retranscrire en variable. Pour la connexion d'un utilisateur j'utilise une Session pour le rang : Code :
$_SESSION['membre_rang'] = $result['membre_rang']; Code :
Quelqu'un peut m'aider? Cordialement. MAXIME. |
||
|
|
00
|
|
|
#2 | ||||||
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 965 ![]() |
Salut
Avant tout, sert toi de certaines fonctionnalités qu'offre ce forum, comme mettre les parties de code dans les BBCode "code", "citation". Cela améliore le lisibilité du post, du coup incitera plus les membres à t'aider. Exemple pour le code : Code :
Le problème c'est que tu utilise une fonction sqlquery() qui serait de ta propre création (pas une fonction de Php en tout cas), du coup on ne sait pas quel type de donnée quelle retourne. Fait un print_r($result) ou un var dump($result) pour savoir ce que ça retourne. L'autre problème c'est que ta requête pourrait retourner plusieurs lignes dans le cas où il y aurait plusieurs membres ayant le même pseudo. Dans ton cas il ne faudrait surtout pas qu'il y ait plusieurs lignes car une session par définition doit être unique, donc valable pour un seul utilisateur (poste client), donc 1 seul membre. Lors de l'étape de la connexion (les termes authentification ou identification sont plus adaptés à mon sens), normalement le membre qui tente de s'identifier doit théoriquement fournir son pseudo ET son mot de passe, c'est ce couple qui normalement devrait garantir l'unicité du membre. Là où je veut en venir, c'est que la requête SQL une fois exécuté DOIT retourner soit 1 ligne (1 membre) ou rien (suite à une erreur de saisie ou autre). A mon sens il faudrait en 1er lancer une requête comme : (pour l'exemple je ne met que le SQL) Code :
Par contre il faut rajouter le champ "membre_rang" afin de l'exploiter pour la condition. Puis comme expliqué précédemment, on devrait obtenir un tableau à 1 dimension de la ligne récupérée (le nombre total, l'ID du membre et son rang). Donc admettons que $result contienne ce tableau à 1 dimension, suffit de la mettre dans la session : Code :
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
||||||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com