Page 1 sur 1

Probleme fonction if

Posté : 22 sept. 2012, 11:29
par Oasisdudesert
Bonjour,

Que la condition soit verifiée ou pas il m'affiche quand meme meme le mot traduit en mettant :

{
if ($stat=energy)

print "Energie";
}

Ou est ce que j'ai faux pour ne l'afficher que si verifié?

Merci de votre aide

Re: Probleme fonction if

Posté : 22 sept. 2012, 11:36
par Oasisdudesert
Pardon je ne peux l'editer, donc j'ajoute que je veux traduire le mot energy que si c'est ce mot qui est ecrit

Re: Probleme fonction if

Posté : 22 sept. 2012, 11:43
par moogli
Salut,

Je te conseil de revoir la syntaxe de php en général et celle des chaîne de caractère en particulier.

Pour cela tu lire les tuto de http://www.phpdebutant.org

Quand as la "traduction" il faut voir si c'est dans un texte plus complet ou s'il n'y a qu'un mot.

Dans le premier cas, utilise str_replace (ou str_ireplace qui est insensible à la casse).

D'ailleurs avec ce code tu devrais avoir des messages d'erreur si ce n'est pas le cas je t'invite à passer ton niveau d'erreur à E_ALL (avec error_reporting(E_ALL) en première lignes de ton script).

Essai de corriger ton code et revient vers nous si besoin.

@+

Re: Probleme fonction if

Posté : 22 sept. 2012, 14:02
par Oasisdudesert
Merci,

Je l'ai fait de la facon suivante qui semble fonctionner :

Code : Tout sélectionner

if ($stat==energy) { echo "Energie"; }else if ($stat==will) {echo "<img src='images/v.png' alt='Volonté' />Volonté"; }else if ($stat==strength) {echo "<img src='images/muscle.png' alt='Force' />Force"; }else if ($stat==agility) {echo "Agilité"; }else if ($stat==guard) {echo "Defense"; }else if ($stat==labour) {echo "Travail"; }else if ($stat==robskill) {echo "Subtilisation"; }else if ($stat==IQ) {echo "QI"; }else if ($stat==brave) {echo "Courage"; }else if ($stat==hp) {echo "<img src='images/icon-health.png' alt='Sante' />Santé"; }else if ($stat==hospital) {echo "Temps Hopital"; }else if ($stat==jail) {echo "Temps Prison"; }else if ($stat==money) {echo "Cash"; }else if ($stat==crystals) {echo "Cristaux"; }else if ($stat==crimexp) {echo "EXP Crimes"; }

Re: Probleme fonction if

Posté : 22 sept. 2012, 17:05
par sirakawa
Bjr,
Ce qui m'étonne, c'est qu'il n'y ait pas d'erreur du genre undefined constant energy, using energy, à moins qu'elles soient noyées au milieu d'autre chose. Regarde le code source dans ton navigateur. En fait, php remplace tes constantes inconnues par leur nom, ce qui fait que ça fonctionne, presque malgré toi...
Normalement :
if ($nom_de_variable == 1) :// nombre
if ($nom_de_variable == "chaîne")//chaîne
if ($nom_de_variable == constante)//constante
if ($stat == "energy")//variable chaî,ne
ou
define ("energy","energy");
if ($stat == energy)

Re: Probleme fonction if

Posté : 22 sept. 2012, 18:46
par albat

Code : Tout sélectionner

if ($stat==energy) { echo "Energie"; }else if ($stat==will) {echo "<img src='images/v.png' alt='Volonté' />Volonté"; }else if ($stat==strength) {echo "<img src='images/muscle.png' alt='Force' />Force"; }else if ($stat==agility) {echo "Agilité"; }else if ($stat==guard) {echo "Defense"; }else if ($stat==labour) {echo "Travail"; }else if ($stat==robskill) {echo "Subtilisation"; }else if ($stat==IQ) {echo "QI"; }else if ($stat==brave) {echo "Courage"; }else if ($stat==hp) {echo "<img src='images/icon-health.png' alt='Sante' />Santé"; }else if ($stat==hospital) {echo "Temps Hopital"; }else if ($stat==jail) {echo "Temps Prison"; }else if ($stat==money) {echo "Cash"; }else if ($stat==crystals) {echo "Cristaux"; }else if ($stat==crimexp) {echo "EXP Crimes"; }
Mon Dieu ! Quelle horreur !

Allez,je te recommande de jeter un oeil sur l'opérateur switch... ;)

Re: Probleme fonction if

Posté : 23 sept. 2012, 09:35
par sirakawa
Bjr,
un tableau ferait aussi l'affaire:
$t_mots = array
(
    "energy" => array("en"=>"energy", "fr"=>"Energie", "image"=>"v" ),
    "strength" => array("en"=>"strength", "fr"=>"Force","image"=>"muscle")
)
$langue = "fr"; //defined elsewhere
$texte = $t_mots[$stat][$langue];
$image = $t_mots[$stat]['image'];
En plus, il est plus facile à étendre à d'autres éléments en cas d'oubli, pour ajouter d'autres langues, etc...

Re: Probleme fonction if

Posté : 23 sept. 2012, 09:55
par albat
Le switch est tout aussi simple à faire évoluer.
Il suffit d'ajouter un cas.

Et il présente l'avantage sur le tableau d'utiliser beaucoup moins de ressource mémoire.

Re: Probleme fonction if

Posté : 23 sept. 2012, 10:02
par albat
switch ($stat)
       { case 'energy'   : echo 'Energie'; break;
         case 'will'     : echo '<img src="images/v.png" alt="Volonté" />Volonté'; break;
         case 'strength' : echo '<img src="images/muscle.png" alt="Force" />Force'; break;
         case 'agility'  : echo 'Agilité'; break;
         case 'guard'    : echo 'Defense'; break;
         case 'labour'   : echo 'Travail'; break;
         case 'robskill' : echo 'Subtilisation'; break;
         case 'IQ'       : echo 'QI'; break;
         case 'brave'    : echo 'Courage'; break;
         case 'hp'       : echo '<img src="images/icon-health.png" alt="Sante" />Santé'; break;
         case 'hospital' : echo 'Temps Hopital'; break;
         case 'jail'     : echo 'Temps Prison'; break;
         case 'money'    : echo 'Cash'; break;
         case 'crystals' : echo 'Cristaux'; break;
         case 'crimexp'  : echo 'EXP Crimes'; break;
       }
Difficile de faire plus simple... ;)