Comment simplifier ce code (question de débutant)?
Posté : 15 juin 2005, 13:57
Bonjour,
Je suis parvenu à ce que je voulais faire mais le code est très long et il y a certainement d'autres solutions pour le rendre un peu plus léger.
Voici mon code :
2) (2ème question)
La langue du site, par défaut, est le français. C'est à dire que si le visiteur veut afficher la page en français, il peut y accéder par :
page.php?l=fr
page.php?l=default
page.php?l=
Ces trois solutions vont afficher la page en français. Dans le code ci-dessus, je n'ai pas parlé des deux autres valeurs possibles de cette variable ('default' et ' ').
Mais est-il possible, dans le code ci-dessus, pour la ligne en français, d'écrire quelque chose telle que :
if ($l='fr', 'default', ' ') and ........... {include_once('sponsors/fr/articles-de-foot-hommes.php');}
plutôt que de faire une ligne, à chaque fois pour
if $l=fr
if $l=default
if $l=
?
Merci d'avance pour votre aide car je n'ai vraiment pas trouvé de solution malgré mes recherches sur le for, switch, etc. auxquels je n'ai pas compris grand' chose.
[/php]
Je suis parvenu à ce que je voulais faire mais le code est très long et il y a certainement d'autres solutions pour le rendre un peu plus léger.
Voici mon code :
<?
// Ce script affiche une publicité pour le visiteur en fonction de trois critères que le script vérifie :
1) La langue du visiteur (fr, de, en ou po)
2) Son sexe (1 pour homme ou 2 pour femme)
3) Son sport préféré (1 pour football, 2 pour basketball, 3 pour tennis, ...)
// Le visiteur est un homme et son sport préféré est le football (4 lignes car 4 langues)
if ( ($l=='fr') And ($i['sexe']=='1') And ($i['sport_prefere']=='1') ) {include_once('sponsors/fr/articles-de-foot-hommes.php');}
else
if ( ($l=='de') And ($i['sexe']=='1') And ($i['sport_prefere']=='1') ) {include_once('sponsors/de/articles-de-foot-hommes.php');}
else
if ( ($l=='en') And ($i['sexe']=='1') And ($i['sport_prefere']=='1') ) {include_once('sponsors/en/articles-de-foot-hommes.php');}
else
if ( ($l=='po') And ($i['sexe']=='1') And ($i['sport_prefere']=='1') ) {include_once('sponsors/po/articles-de-foot-hommes.php');}
else
// Le visiteur est une femme et son sport préféré est le football (4 lignes car 4 langues)
if ( ($l=='fr') And ($i['sexe']=='2') And ($i['sport_prefere']=='1') ) {include_once('sponsors/fr/articles-de-foot-femmes.php');}
else
if ( ($l=='de') And ($i['sexe']=='2') And ($i['sport_prefere']=='1') ) {include_once('sponsors/de/articles-de-foot-femmes.php');}
else
if ( ($l=='en') And ($i['sexe']=='2') And ($i['sport_prefere']=='1') ) {include_once('sponsors/en/articles-de-foot-femmes.php');}
else
if ( ($l=='po') And ($i['sexe']=='2') And ($i['sport_prefere']=='1') ) {include_once('sponsors/po/articles-de-foot-femmes.php');}
else
// Le visiteur est un homme et son sport préféré est le basketball (4 lignes car 4 langues)
if ( ($l=='fr') And ($i['sexe']=='1') And ($i['sport_prefere']=='2') ) {include_once('sponsors/fr/articles-de-basket-hommes.php');}
else
if ( ($l=='de') And ($i['sexe']=='1') And ($i['sport_prefere']=='2') ) {include_once('sponsors/de/articles-de-basket-hommes.php');}
else
if ( ($l=='en') And ($i['sexe']=='1') And ($i['sport_prefere']=='2') ) {include_once('sponsors/en/articles-de-basket-hommes.php');}
else
if ( ($l=='po') And ($i['sexe']=='1') And ($i['sport_prefere']=='2') ) {include_once('sponsors/po/articles-de-basket-hommes.php');}
else
// Le visiteur est une femme et son sport préféré est le basketball (4 lignes car 4 langues)
if ( ($l=='fr') And ($i['sexe']=='2') And ($i['sport_prefere']=='2') ) {include_once('sponsors/fr/articles-de-basket-femmes.php');}
else
if ( ($l=='de') And ($i['sexe']=='2') And ($i['sport_prefere']=='2') ) {include_once('sponsors/de/articles-de-basket-femmes.php');}
else
if ( ($l=='en') And ($i['sexe']=='2') And ($i['sport_prefere']=='2') ) {include_once('sponsors/en/articles-de-basket-femmes.php');}
else
if ( ($l=='po') And ($i['sexe']=='2') And ($i['sport_prefere']=='2') ) {include_once('sponsors/po/articles-de-basket-femmes.php');}
else
// Le visiteur est un homme et son sport préféré est le tennis (4 lignes car 4 langues)
if ( ($l=='fr') And ($i['sexe']=='1') And ($i['sport_prefere']=='3') ) {include_once('sponsors/fr/articles-de-tennis-hommes.php');}
else
if ( ($l=='de') And ($i['sexe']=='1') And ($i['sport_prefere']=='3') ) {include_once('sponsors/de/articles-de-tennis-hommes.php');}
else
if ( ($l=='en') And ($i['sexe']=='1') And ($i['sport_prefere']=='3') ) {include_once('sponsors/en/articles-de-tennis-hommes.php');}
else
if ( ($l=='po') And ($i['sexe']=='1') And ($i['sport_prefere']=='3') ) {include_once('sponsors/po/articles-de-tennis-hommes.php');}
else
// Le visiteur est une femme et son sport préféré est le tennis (4 lignes car 4 langues)
if ( ($l=='fr') And ($i['sexe']=='2') And ($i['sport_prefere']=='3') ) {include_once('sponsors/fr/articles-de-tennis-femmes.php');}
else
if ( ($l=='de') And ($i['sexe']=='2') And ($i['sport_prefere']=='3') ) {include_once('sponsors/de/articles-de-tennis-femmes.php');}
else
if ( ($l=='en') And ($i['sexe']=='2') And ($i['sport_prefere']=='3') ) {include_once('sponsors/en/articles-de-tennis-femmes.php');}
else
if ( ($l=='po') And ($i['sexe']=='2') And ($i['sport_prefere']=='3') ) {include_once('sponsors/po/articles-de-tennis-femmes.php');}
else
else
include_once('sponsors/multilingue/tous-les-sports.php');
?>
2) (2ème question)
La langue du site, par défaut, est le français. C'est à dire que si le visiteur veut afficher la page en français, il peut y accéder par :
page.php?l=fr
page.php?l=default
page.php?l=
Ces trois solutions vont afficher la page en français. Dans le code ci-dessus, je n'ai pas parlé des deux autres valeurs possibles de cette variable ('default' et ' ').
Mais est-il possible, dans le code ci-dessus, pour la ligne en français, d'écrire quelque chose telle que :
if ($l='fr', 'default', ' ') and ........... {include_once('sponsors/fr/articles-de-foot-hommes.php');}
plutôt que de faire une ligne, à chaque fois pour
if $l=fr
if $l=default
if $l=
?
Merci d'avance pour votre aide car je n'ai vraiment pas trouvé de solution malgré mes recherches sur le for, switch, etc. auxquels je n'ai pas compris grand' chose.
[/php]