Comment definir un intervalle de valeurs en php et comment réaliser un espace me

Fermé
Profil bloqué - Modifié par torskint le 21/07/2015 à 11:32
jordane45 Messages postés 38454 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 12 mars 2025 - 21 juil. 2015 à 15:57
Bonjour, je tente d'atteindre plusieurs objectifs via une seule question. Je suis sur le point de creer un site (espace membre,+ tout son panoplie). Je voudrais donné des droits de supersu a des membre. alors je tente de me placer dans un intervalle de nombres entiers relatifs (sans virgule, entier, positif). je me demande alors comment faire simplement cela, genre
- si la variable $droit a pour valeur un nombre supérieur ou egale a 2 et inferieur a 4 alors cest avant tout un membre.
- si $droit =3 cest un modo. etc

Deuxième chose. je veux sécuriser l'acess a mon site. donc tout ceux qui ne respectent pas une certaine condition stricte ( droit = 2| 3 | 4| , existence de la session , les variables de session doivent correspondre a celle de la bd (je pense faire cette comparaison sur chacune de mes pages. Vous en pensez quoi?), et la page expirera au bout de 10min) . Aidez moi. des codes, des idées. je prends tout. merci a tous.
A voir également:

2 réponses

jordane45 Messages postés 38454 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 12 mars 2025 4 741
21 juil. 2015 à 13:40
Bonjour,

Question 1 : Il te suffit d'utiliser un IF ou un SWITCH

par exemple :
switch($droit){
 case 2 :
  //membre
 break;
 case 3 :
  //membre
 break;
 case 4:
  //modo
 break;
 default:
   //inconnu
 break;
}



Pour la deuxième question :
Plutôt que de faire cette vérification dans chacune de tes pages ... pourquoi ne fais tu pas UNE Seule page (main.php) .. qui INCLURA tes autres pages ?
Ainsi tu ne fais la vérification que dans le "container" principale.

De plus .. cette vérification ne pourrait être faite qu'à la connexion... je ne vois pas l'utilité de charger ton site en requêtes en refaisant cette vérification lors de l'affichage de chacune de tes pages .....

et la page expirera au bout de 10min)

Tu peux en effet mettre un timer (en javascript) et supprimer les variables de session au bout d'un certain laps de temps .. et ainsi ... "ejecter" l'utilisateur du site.....
Tu pourrais aussi mettre ce timer que si il n'y a aucune "activité" sur la page au bout d'un laps de temps....




PS: Pour bien faire ... il est souhaitable de ne poser qu'une seule question par discussion... cela permet aux visiteurs du site de pouvoir plus facilement retrouver des informations dans le forum... dès fois qu'ils se poseraient les mêmes questions que toi....

PS2 : ta question concerne un trop vaste domaine pour que je puisse te donner des exemples de code.. de plus je ne suis pas là pour remplacer ton moteur de recherches....
Si tu souhaites obtenir des codes ou de l'aide de notre part il faudrait que tu cible un peu mieux tes besoins et qu'éventuellement tu nous indiques sur quoi tu bloques (exemple de code essayé à l'appui. )


0
Profil bloqué
21 juil. 2015 à 14:57
merci vraiment . je m'attendais pas a une telle franchise. cependant, jai toujours eu un problème côté switch. le code est a mettre dans une fonction, ou quoi? et ensuite je ferais un appel a cette fonction tout au debut de ma page?
- Pour ce qui est de l'inclusion, je dois donc faire appel a des IF, de telle sorte que si l'utilisateur demande la page MESSAGES, je fasse une inclusion de la page messages.php, etc.....? j'ai l'impression que cette page principale aura un code tres lourd non?
0
jordane45 Messages postés 38454 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 12 mars 2025 4 741
21 juil. 2015 à 15:57

cependant, jai toujours eu un problème côté switch. le code est a mettre dans une fonction, ou quoi? et ensuite je ferais un appel a cette fonction tout au debut de ma page?

Oui tu peux mettre ton switch dans une fonction et en effet..il te faudra l'appeler dans ta page.

Pour ma part, j'utilise le process suivant :(en gros...)

Dans ma BDD :
1 table utilisateurs ( id, login,pwd, nom,prenom, mail....)

1 table droits (pour définir les différents types de droits existants) : id,libelle ....

1 table droits_users (pour définir les droits attachés à un user ) (id_user,id_droit) => cette table a une relation 1-->n avec la table utilisateurs => 1 user peut être attaché à N droits.

1 table pages (pour définir les pages de mon site) : id, libelle, fichier (par exemple message.php),chemin (par exemple /undossier/truc/ )

1 table pages_droits (table de relation n-->n pour définir quels "droits" pour quelles "pages" ) : (id_page,id_droit)

Dans mon code php :
Je regarde quelles sont les droits du users
Je regarde si la page qu'il essaye d'appeler fait parti de ses droits et si elle existe...
Si oui.. j'affiche la page.
Si non.. je le redirige vers l'accueil.

Pour définir quelle page est à afficher.. j'utilise une variable GET (dans mon url) du genre :
www/monsite.fr/main.php?page=messages

et dans mon code... je la récupère via un !empty
$page = !empty($_GET['page'])?$_GET['page']:NULL;

// je récupère les infos de la page :
$chemin = // données de la BDD
$fichier  =  // données de la BDD

// Ici ensuite je fais tout mon code de vérification de droits...
 
 $droitsOK  = .......// données de la BDD (requête qui, grâce à l'ID du user va voir dans la table droits_pages si il a l'autorisation d'afficher la page
 
// .....


//et enfin.. je l'affiche si j'ai le droit et si la page existe :

if($page && file_exists($chemin.$fichier ) && $droitsOK ){
  include_once($chemin.$fichier );
}else{
  include_once('Acces_refuse.php');
}









0