Le 13/11/2012 08:14, Une B�vue a �crit :
> j'ai un prog disons index.php, qui peut ne pas avoir du tout de $_GET
> car je souhaite pouvoir acc�der aux fonctionnalit�s toujours avec cette
> m�me page.
>
> Aussi je fais des tas de tests du genre :
> if(!isset($_GET['link']))
> ...
> else if(isset($_GET['bookmarks']) && $_GET['bookmarks']==='true')
>
> y a t'il une solution plus �l�gante, je pense que oui, pour d�crire
> l'�tat de la machine ?
>
> je peux avoir comme "adresse" :
>
> - 'index.php' (ie pas de $_GET)
> -> initialisation ;
> - 'index.php?category=la-categorie'
> -> afficher la cat�gorie ;
> - 'index.php?category=la-categorie&link=le-lien.html'
> -> afficher le lien ;
> - 'index.php?category=la-categorie&link=le-lien.html&add_bookmark=true'
> -> afficher le lien & ajouter le lien aux signets ;
> - 'index.php?category=la-categorie&link=le-lien.html&add_notes=true'
> -> afficher le lien & ajouter des notes � cette page ;
> - 'index.php?bookmarks=true'
> -> afficher les URLs des pages bookmark�es ;
> - 'index.php?notes=true'
> -> afficher les URLs des pages annot�es ;
> - 'index.php?search=true&<les conditions sur la recherche>'
> -> afficher les URLs des pages correspondant � la recherche.
>
> donc, la question, y a t'il plus mieux que des tests sur isset ?
>
Bonjour,
tu peux faire une fonction construisant un nombre entier ou chaque bit
correspond � un des �l�ments du tableau $_GET:
$test = ($_GET['category'] == true)*1 + ($_GET['link'] == true)*2 +
($_GET['add_bookmark'] == true)*4 + ($_GET['add_notes'] == true)*8 + ...
ce qui donne un nombre unique ( pour chaque situation) qui pourra �tre
test� avec un switch case.
Fred