CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[PHP] Différencier des administrateurs différents

JoIie
JoIie
Niveau 10
31 mars 2015 à 21:56:27

Bonsoir,

D'autres difficultés se présente à moi durant la réalisation de mon site web et j'ai encore besoin de votre aide ^^' (faudra que je mette en remerciement dans mon rapport de projet "remerciement JVC") ...

On considère qu'un organisateur équivaut à un compte utilisateur ayant droit de créer des "sujets", ici les "sujets" sont des courses. Les comptes "coureurs" participent peuvent seulement participer à ces courses.

On peut voir dans l'image ci-dessous que l'organisateur connecté (en haut du site, "Organisateur1") peut modifier ou supprimer sa course à l'aide de l'affichage du tableau :

https://image.noelshack.com/fichiers/2015/14/1427706941-capture.png

Si je clique sur modifier, j'accède bien à la page de modification de la course portant comme nom "Course 1" (course créer par "Organisateur1") mais je peux modifier la course de "Organisateur2" (course portant comme nom "Course 2") en modifiant simplement L’URL, comme ici ou l'URL a été modifié :

https://image.noelshack.com/fichiers/2015/14/1427706993-capture.png

Or je ne veux pas que cela se produise, je n'arrive pas à différencier un organisateur d'un autre (j'arrive à faire la différence entre coureur et organisateur par contre), voici mon code de ma page "modifier.php" :

https://wall.deblan.org/x1d81/php/1/

Pareil pour supprimer une course aussi donc :-( ...

Et si j’écris n'importe quoi dans la barre d'adresse j'obtiens ça :

https://image.noelshack.com/fichiers/2015/14/1427708415-capture.png

Alors que j'aimerais retourner à l'accueil.

Merci pour votre aide

Valaire
Valaire
Niveau 5
31 mars 2015 à 23:57:12

Moi je verrais bien un session qui vas identifier un utilisateur particulier. Et si lors de la modification d'une course la valeur dans ma variable &_SESSION n'est pas égale à celui qui a créé la course on lui deny l accès

Valaire
Valaire
Niveau 5
31 mars 2015 à 23:59:08

$_SESSION*

JoIie
JoIie
Niveau 10
01 avril 2015 à 08:43:24

En un if ? Si oui je vois pas comment l'écrire :malade: .

samledev
samledev
Niveau 4
01 avril 2015 à 12:51:05

J'irais avec ce type de solution qui permet de bloquer le contenu de la page par ce message si l'utilisateur ne correspond pas:
(Bien sur, c'est un exemple de code... À arranger selon la structure de ton code. Ou même arranger la structure de ton code selon mon code :pacg: !)

if(isset($_SESSION['login']) && $_SESSION['login'] != 1) die('Vous n\'avez pas l\'autorisation nécessaires pour accéder à cette page');
Message édité le 01 avril 2015 à 12:55:58 par samledev
Valaire
Valaire
Niveau 5
02 avril 2015 à 23:14:53

Yep tu peut rajouter un champs lvl dans ta table user et ensuite remplacer le champ login de $_SESSION par $_SESSION['lvl']==1 etc...

Tanil
Tanil
Niveau 45
03 avril 2015 à 11:29:33

if(!isset($_SESSION['user_id']) || (isset($_SESSION['user_id']) && ($_SESSION['user_id'] != $course['user_id']))
{
    header('page.php');
}

Si le mec n'est pas connecté ou qu'il l'est mais pas avec le bon compte, il est renvoyé sur page.php. Bien sûr à la connexion il faut mettre l'id du gars en session. Après tu peux faire deux tests différents et dans un premier temps vérifier si le gars est connecté (ce qui peut modifier l'affichage de certaines options. Du coup tu n'as plus besoin des isset.

Anoratsu
Anoratsu
Niveau 10
03 avril 2015 à 16:59:59

Pourquoi ne pas mettre un id qui fait la liaison entre l'utilisateur créateur et les courses ? Comme ça la personne ne voit que les courses qui portent son ID. Et si c'est l'admin tu fais un test pour qu'il puisse voir toutes les courses.

Tu fais tes tests de contrôles sur cet id et si cela ne corresponds pas, un message d'erreur comme quoi la personne n'a pas les droits nécessaires.

... J'espère avoir compris ton problème.

JoIie
JoIie
Niveau 10
03 avril 2015 à 23:08:21

Je donne des retours, j'ai enfin réussi à régler le problème qui était de modifier une course qui n'appartenait pas à son organisateur à l'aide de ce code :

https://wall.deblan.org/x1d89/php/1/

Ça marche aussi pour la page supprimer.php donc, merci pour votre aide :-) .

Par contre il me reste 2 problèmes :

  • Premier problème :

Pour les informations complémentaires de la course :

https://image.noelshack.com/fichiers/2015/14/1427968361-capture.png

Si je clique sur le lien encadré dans l'image ci-dessus j'accède bien à la page d'information de la course :

https://image.noelshack.com/fichiers/2015/14/1427968515-capture.png

Et dans cette page, si j’écris n'importe quoi dans la barre d'adresse j'obtiens ça :

https://image.noelshack.com/fichiers/2015/14/1427968689-capture.png

Alors que j'aimerais retourner à l'accueil.

  • Deuxième problème :

En tant que compte "Coureur", j'arrive à valider une inscription à une course à partir de la liste des courses créés par les "Organisateurs" :

https://image.noelshack.com/fichiers/2015/14/1427970312-capture.png

En cliquant sur le lien encadré en rouge j'accède aux informations complémentaires de la course et un bouton valider qui me permet de participer à la course en question :

https://image.noelshack.com/fichiers/2015/14/1427970318-capture2.png

L’insertion des informations de la course s'insère bien dans la base de données :

https://image.noelshack.com/fichiers/2015/14/1427970323-capture3.png

Et dans la page "Mes Courses" (mes_courses.php) :

https://image.noelshack.com/fichiers/2015/14/1427974715-capture4.png

J'ai seulement une participation qui s'affiche alors que l'on peut voir, dans ma table de participation, que le Coureur1 participe à deux courses (la Course 1 et la Course 2) :

https://image.noelshack.com/fichiers/2015/14/1427975368-capture3.png

J'ai vu que en réalité, la page "mes_courses.php" affiche seulement la première course valider et non les autres.

Par exemple si j'efface les données de ma table participation et que je m'inscris à une course avec un compte coureur quelconque, celle-ci s'affiche bien seulement pour le coureur qui désire y participer mais si il souhaite participer à d'autres courses, elles s'inscrivent bien dans ma table mais ne s'affiche pas, voilà mon code :

https://wall.deblan.org/x1d8b/php/1/

Le problème vient sûrement de ce qu'il y a à l'intérieur de ma boucle while.

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment