[RESOLU] interrogation correspondance section/url (array/xlm/switch?)

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] interrogation correspondance section/url (array/xlm/switch?)

Re: interrogation correspondance section/url (array/xlm/switch?)

par azzeryx » 20 août 2016, 09:18

ok je part donc sûr ça merci

Re: interrogation correspondance section/url (array/xlm/switch?)

par Spols » 19 août 2016, 15:37

Une array est possible, mais au final la maintenance est pareil qu'un switch.

si tu veux une array crée la comme ceci
$sections = array("section1" => "url1","section2" => "url2", ...);
et un include($sections[$section]);
devrait te suffire, mais une recherche de l’existence de $sections[$section] est recommandé avant l'include et pour prévoir un cas par défaut.

Re: interrogation correspondance section/url (array/xlm/switch?)

par azzeryx » 19 août 2016, 14:46

Personnes ne sais quel serrais la méthode la plus efficaces. J'avais aussi penser à utiliser des fichier, mais je doute de la rapidité. Je suis assez sûr que les array sont une bonne solution mais j'aimerais avoir une confirmation avant de me lancer dedans !

Re: interrogation correspondance section/url (array/xlm/switch?)

par azzeryx » 18 août 2016, 14:03

Le problème viens du faite que je n'utilise pas des url qui corresponde à l'adresse du fichier. C'est plutôt le section passer en GET dans l'url donc, qui doit être existante et correspondre à une page qu'on inclue ensuite.
Avec un exemple ça doit être plus parlant, pour l'instant je fait ça :

Code : Tout sélectionner

switch ($section) // on indique sur quelle variable on travaille { //pour l'inscription case 'inscription': include_once('controleur/inscription/index.php'); break; }
Sauf qu'il y a pluis de 50 cases et j'aimerais rendre ça le plus rapide, sûr et modifiable possible.
Avec un array ça donnerais :

Code : Tout sélectionner

array section(inscription([controleur/inscription/index.php],[1]));

Re: interrogation correspondance section/url (array/xlm/switch?)

par @rthur » 18 août 2016, 13:31

As tu vraiment besoin d'un tableau pour vérifier l'existence, un coup de file_exists() et c'est réglé, non ?

Re: interrogation correspondance section/url (array/xlm/switch?)

par azzeryx » 18 août 2016, 12:41

Oui mais mon problème c'est qu'avant de chargé les pages et de gérer les autorisation je doit validé leur existence. Pour accéder à une page on charge d'abord un index.php avec un paramètre dans l'url. Par exemple index.php?section=profile. Dans mon index on regarde si la section "profile" existe. Je le fait avec des switch mais je pense qu'un array serrais mieux. Qu'en penses tu ?
Là une fois la section validé on s'occupe des permission comme tu le suggère.

Re: interrogation correspondance section/url (array/xlm/switch?)

par @rthur » 17 août 2016, 23:12

Bonjour,

La solution habituellement utilisée est de définir des rôles pour regrouper tes utilisateurs : admin / équipe / membres / invités/ etc...
Et ensuite en entête de chaque page, tu définies les rôles qui sont autorisés à voir la page en question.
Si non identifiés, tu renvoie vers un formulaire de login
Si autorisés, tu laisses l'affichage de la page.
Si non-autorisés, tu affiches un message permissions insuffisantes

interrogation correspondance section/url (array/xlm/switch?)

par azzeryx » 17 août 2016, 19:56

Bonjour,
Sur mon site j'ai un très grand nombre de pages (+50 pour le moment). A chaque page correspond une section (reçus en GET elles correspondes à des string classique). Une contrainte supplémentaire : certaines pages ne sont accessible que si l'on est connecté. Une fois q'une section à été validé comme existante et qu'on à le statut suffisant pour y accéder un include est réaliser. Pour le moment j'utilise des switch-case et autre if. Mais ça prend beaucoup de place et n'est pas très claire (surtout quand on rajoute de plus en plus de page). Alors quel serrais la solution la plus rapide, sécuriser, évolutive ? Un array avec 2 dimensions : section->url/statut ; un fichier (XML/autre) ?