Optimisation petit code de rien du tout

Résolu
jphilippev Messages postés 253 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 5 décembre 2008 - 29 avril 2008 à 10:43
jphilippev Messages postés 253 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 5 décembre 2008 - 29 avril 2008 à 18:48
bonjour tt le monde

ca faisait longtemps que je n'avais pas posé mes petites questions...

la c'est juste pour optimiser mon code donc voila

je fait cela pour définir une couleur

if ($fond=='accueil'){
$couleur='white';}
if ($fond=='musique'){
$couleur='black';}
if ($fond=='danse'){
$couleur='red';}
if ($fond=='djing'){
$couleur='green';}
if ($fond=='graphisme'){
$couleur='yellow';}
if ($fond=='association'){
$couleur='blue';}
if ($fond=='liens'){
$couleur='brown';}
if ($fond=='video'){
$couleur='purple';}

donc voila je voudrais savoir si il existe un moyen de mieux ecrire cela
vu que la ca sort de mon petit cerveau qui a du mal
(ouè la je trouve que cela fait un peu pourri mais bon)

merci de votre futur aide

12 réponses

Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
29 avril 2008 à 11:13
Autant de if... un switch irait mieux mais !
Vu le traitement...
un array... Pour configurer ce truc

$assFondCouleur=array(
'accueil'=>'white',
'musique'=>'black',
...
);

if(isset($assFondCouleur[$fond])){
return $assFondCouleur[$fond];
}

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

 Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
3
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
29 avril 2008 à 11:55
ah tu veux afficher !
Ton array est bon

C'est ici le soucis...
if(isset($assFondCouleur[$fond])){
return $assFondCouleur[$fond];
}

je croyais que tu etais dans une fonction qui renvoyait la couleur en fonction
Essaye donc ceci :

if(isset($assFondCouleur[$fond])){

echo $assFondCouleur[$fond];

}

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

 Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
3
jphilippev Messages postés 253 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 5 décembre 2008 1
29 avril 2008 à 11:21
merci teclis
je me disait bien qu'un tableau irais mieux
thx
0
jphilippev Messages postés 253 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 5 décembre 2008 1
29 avril 2008 à 11:42
en suivant tes conseils ca donne ca

$assFondCouleur=array(
'accueil' => 'white',
'musique' => 'black',
'danse' => 'black',
'djing' => 'black',
'graphisme' => 'black',
'association' => 'black',
'liens' => 'black',
'video' => 'black'
);




if(isset($assFondCouleur[$fond])){
return $assFondCouleur[$fond];
}

mais en faites rien ne s'affiche dans ma page
et sinon quand je retire ca marche
qu'ai je fais de travers???
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jphilippev Messages postés 253 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 5 décembre 2008 1
29 avril 2008 à 12:10
ok mais j'ai retiré carrement le if isset vu que la variable $fond est définie avant
et quel est obligatoirement rempli (donc j'ai pas a la vérifier :) )

merci teclis bonne journée
0
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
29 avril 2008 à 12:13
C'est pour raison de sécurité le isset (injection )

Merci de même

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

 Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
0
jphilippev Messages postés 253 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 5 décembre 2008 1
29 avril 2008 à 12:19
sécurité??  dans mes pages php je verifi déjà si elles existent si elles n'existent pas = redirection 404
la un méchant pourrait injecter ses conchonneries dans mon site?
(en plus les couleurs me servent à changer la couleur de mes polices) donc faut pas que je fasse des isset a chaque fois
0
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
29 avril 2008 à 12:26
ah bah je pouvais pas savoir moi
on peut tjrs tenter d'injecter qqch...
que ca soit dans l url ou dans les  input ya de quoi verifier les traitements après

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

 Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
0
jphilippev Messages postés 253 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 5 décembre 2008 1
29 avril 2008 à 12:31
ok la en faite je recupere $fond avec un get (genre page.php?rubrique=musique) donc $fond=$_get[rubrique] en gros c'est ca
donc si le gars rentre rubrique=montivirus donc $fond=montivirus mais vu qu'après je men sers que pour la couleur
est vraiment dangereux??
0
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
29 avril 2008 à 14:22
depend de ce que l'on peut injecter et du traitement derriere c'est pas aussi simple de repondre...

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

 Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
0
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
29 avril 2008 à 15:18
bah il trouvera aucune correspondance de couleur, si c'est le seul traitement c'est pas dangereux.

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

 Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
0
jphilippev Messages postés 253 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 5 décembre 2008 1
29 avril 2008 à 18:48
ouais mais la j'ai essayé de mettre un  a la place et c passé y avait l'image!!!
0
Rejoignez-nous