Problème de tableau array

Problème de tableau array - PHP - Programmation

Marsh Posté le 10-08-2005 à 15:30:26    

Voilà, en gros je passe la variable "c" dans le lien url et pour éviter qu'on me passe pas un autre que celles autorisées, je passe par un tableau pour l'intégrer dans mon code par la suite.
 

Code :
  1. $couleurs= array("E1EAEF","fdf6bb","b4c2d9","bbf3ac","f3acac" );
  2. if (!@print($couleurs[$_GET['c']]))
  3. {
  4. print "E1EAEF";
  5. }


 
Le truc, c'est que ce code ne passe pas, je suis donc un peu bloqué... ;)
 
Comment faire pour en gros :
 
- j'ai 4 valeurs autorisées dans mon tableau
- je controle ma variable dans GET
- si elle est dans le tableau, je l'affiche
- si elle ne l'est pas, je mets E1EAEF par défaut
 
Merci d'avance !


---------------
Thenab - Quitte à passer pour un con, passe vite !
Reply

Marsh Posté le 10-08-2005 à 15:30:26   

Reply

Marsh Posté le 10-08-2005 à 16:26:49    

Que le code ne passe pas, c'est un peu normal, print revoit une valeur fixe.
 
Par contre, je comprends pas les explications, tu nous dis que tu as 4 valeurs autorisées dans le tableau alors qu'il y en a 5... Et la valeur c, c'est un indice ou une valeur elle-même du tableau ?

Reply

Marsh Posté le 10-08-2005 à 17:11:17    

c c'est la variable.
 
Il y a en effet 5 valeurs possibles ;)... dsl :D !


---------------
Thenab - Quitte à passer pour un con, passe vite !
Reply

Marsh Posté le 10-08-2005 à 17:22:25    

thenab a écrit :

c c'est la variable.


 
euh, voilà qui ne répond pas à ma question :D
 
Bref, on va faire sans, ça doit le faire avec in_array ou array_key_exists selon que c représente la clé ou la valeur dans ton tableau non ?

Reply

Marsh Posté le 10-08-2005 à 17:54:16    

Code :
  1. $couleurs = array("E1EAEF","fdf6bb","b4c2d9","bbf3ac","f3acac" );
  2. $c = htmlentities($_GET['c']);
  3. if(in_array($c,$couleurs)
  4.      print $c;
  5.      print "E1EAEF";

Reply

Marsh Posté le 10-08-2005 à 17:57:19    

je crois que "c" represente plutôt sa clef naceroth. [:dawa]
il s'emmele sacrément les pinceaux en tout cas.  
 
tu devrai serieusement consulter qqs cours sur le web. :/ ce chapitre est assez basique.  :jap:

Reply

Marsh Posté le 10-08-2005 à 18:02:01    

c est simplement le nom donné à ma variable qui transporte les codes du tableau... c'est tout... je pensais avoir été clair, c'est pour ça :D !


---------------
Thenab - Quitte à passer pour un con, passe vite !
Reply

Marsh Posté le 10-08-2005 à 18:02:20    

Mais merci en tout cas ;)...


---------------
Thenab - Quitte à passer pour un con, passe vite !
Reply

Marsh Posté le 10-08-2005 à 18:05:05    

Heu... marche po :'(


---------------
Thenab - Quitte à passer pour un con, passe vite !
Reply

Marsh Posté le 10-08-2005 à 18:14:36    

Code :
  1. $couleurs = array("E1EAEF","fdf6bb","b4c2d9","bbf3ac","f3acac" );
  2.      $c = htmlentities($_GET['c']);
  3.      if(in_array($c,$couleurs)){
  4.           print $c;}
  5. else{
  6.           print "E1EAEF";}


 
 :sweat:


Message édité par pmusa le 10-08-2005 à 18:16:31
Reply

Marsh Posté le 10-08-2005 à 18:14:36   

Reply

Marsh Posté le 10-08-2005 à 23:59:50    

Merci, ça marche super ;)...


---------------
Thenab - Quitte à passer pour un con, passe vite !
Reply

Marsh Posté le 11-08-2005 à 00:53:17    

ca serait pas plus simple/efficace de faire passer un n° dans l'url, n° qui corresponde à un index dans le tableau ?


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
Reply

Marsh Posté le 11-08-2005 à 06:58:37    

dans son cas autant tout simplement faire :  
echo ((strtolower($c)!="e1eaef" ) ? $c : "e1eaef";
 
puisqu'il teste si la valeur est dans son tableau
 
le mieux est comme le dit 0x90 faire un tableau avec des indices

Reply

Marsh Posté le 11-08-2005 à 17:06:19    

pmusa a écrit :

Code :
  1. $couleurs = array("E1EAEF","fdf6bb","b4c2d9","bbf3ac","f3acac" );
  2.      $c = htmlentities($_GET['c']);
  3.      if(in_array($c,$couleurs)){
  4.           print $c;}
  5. else{
  6.           print "E1EAEF";}


 
 :sweat:


Tu peux enlever ton htmlentities il est inutile ;)

Reply

Marsh Posté le 12-08-2005 à 14:06:33    

Ca sert à quoi d'ailleurs ça ?
 
Sinon, j'aimerai bien faire comme dit 0x90 mais je ne sais as comment faire :D !
 
Merci en tout cas de votre aide.


---------------
Thenab - Quitte à passer pour un con, passe vite !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed