| |||||
| Dernière réponse | |
|---|---|
| Sujet : [php] petit problème... | |
| hectoras | c comment quon fait un switch ?
Sibnon jenregsitre pas les imahges car c aps pour mes sites que je fais ça c pour mentrainer à programmer en php... |
| Aperçu |
|---|
| Vue Rapide de la discussion |
|---|
| hectoras | c comment quon fait un switch ?
Sibnon jenregsitre pas les imahges car c aps pour mes sites que je fais ça c pour mentrainer à programmer en php... |
| lamatrice | else if c'est pour la condition exclusive....
sinon faut un switch (depuis le temps que je le dis) |
| shurik'n | Oula deja faire 40 if c pas tres propre je trouve... G pas trop matté ton code (la flemme et il est tard lol) mais il me semble k1 switch serai plus approprié et moins lourd.
Si tu veux tester si le mec n a rien entré comme marque , utilise un if (empty($reponse)) Voila j espere pas avoir dit de conneries lol. ++ ninja |
| Roswell_ | Ben si c'est normal il veut que le 'non' ne s'affiche que s'il l'utilisateur tape quelque chose ne correspondant à aucun modele.
Donc il faut bien mettre des else apres chaque if. Normalement pour ce cas de figure il vaudrait mieux utiliser l'instruction switch |
| hectoras | :??: :pt1cable: |
| oloide | idem... |
| skylight | tout pareil |
| omega2 |
Bizare ça. Chez moi, j'ai plusieurs scripts qui contiennent plusieurs if imbriqué et qui marchent. |
| hectoras | rowelle ton ficheir txt foire mais merci d'avoir pris la peine de me metre un exemple etc...
Mais j'ai enfin trouvé la solution: <html> <head> <title>Torver</title> </head> <body> <font face="verdana" size="2">Ecrivez le modèle fender guitare électrique dont vous voulez voir la photo.</font> <form type="post" action="fender.php3"> <input type="text" name="modele" value="<? echo $modele; ?>"> <input type="submit" value="ok"> </form> <?php if ($modele!="" ) if (strtolower($modele)=="stratocaster" ) echo "<img src=\"http://www.fender.com/electricguitars/images/strat_blue_agave.jpg\">"; else if (strtolower($modele)=="telecaster" ) echo "<img src=\"http://www.fender.com/electricguitars/images/tele_blue_agave.jpg\">"; else if (strtolower($modele)=="jaguar" ) echo "<img src=\"http://www.fender.com/electricguitars/images/jag.jpg\">"; else if (strtolower($modele)=="jazzmaster" ) echo "<img src=\"http://www.fender.com/electricguitars/images/jazz.jpg\">"; else if (strtolower($modele)=="sub-sonic" ) echo "<img src=\"http://www.fender.com/electricguitars/images/sub.jpg\">"; else if (strtolower($modele)=="toronado" ) echo "<img src=\"http://www.fender.com/electricguitars/images/toro_orange.jpg\">"; else if (strtolower($modele)=="cyclone" ) echo "<img src=\"http://www.fender.com/electricguitars/images/clone_yellow.jpg\">"; else if (strtolower($modele)=="" ) echo "<font face=\"verdana\" size=\"2\">Veuillez ne pas laisser le champ vide.</font>"; else echo "<font face=\"verdana\" size=\"2\">$modele n'est pas un modéle de guitare électrique fender écrit en minuscule.</font>"; ?> </body> </html> En fait c parce qu'on peut pas mettre 2 if, il faut metre else if... Merci à tous ceux qui ont posté dans ce topic, c sympa de votre part... |
| Roswell_ | je pense que c'est ça que tu veux:
http://philgauthier.free.fr/essai/test.php3 source http://philgauthier.free.fr/essai/test.txt |
| hectoras | non ça marche pas |
| oloide | :sarcastic::crazy::crazy::crazy::crazy::crazy::cra zy::crazy::crazy::crazy::crazy::crazy::crazy::craz y: ben oui, c'est ce que je dis depuis hier, mais apparemment ça marche pas!!!!:cry::cry: |
| omega2 |
|
| oloide | fait un code propre : if ($truc == "truc" ) { instruction1; } if ($truc == "truc2" ) { instruction2; } .... et je sais pas peut être que tu trouvera une erreure quelque part ! utilise des trucs plus simples du style : print ("<img src='http://www.fender.com/electricguitars/images/strat_blue_agave.jpg'>"); essayes avec echo() à la place de print ............... je sais pas quoi d'autre moi !!!! |
| hectoras |
ça change rien...
|
| oloide | sorry, j'avais pas vu que j'était != ""
mais je pensais que c'était == "" Je pense que ça serait mieux que tu mettes } avant le else... |
| hectoras | j'ai modifié le script avec { } et ça marche presque:
Entrez en entier et en minuscule le modèle de guitare électrique Fender que vous voulez voir apparaître. <form type="post" action="fender.php3"> <input type="text" name="reponse" value="<? print $reponse; ?>"> <input type="submit" value="ok"></form> <?php if ($reponse!="" ) { if (strtolower($reponse)=="stratocaster" ) print ("<img src=\"http://www.fender.com/electricguitars/images/strat_blue_agave.jpg\">" ); if (strtolower($reponse)=="telecaster" ) print ("<img src=\"http://www.fender.com/electricguitars/images/tele_blue_agave.jpg\">" ); if (strtolower($reponse)=="jaguar" ) print ("<img src=\"http://www.fender.com/electricguitars/images/jag.jpg\">" ); if (strtolower($reponse)=="jazzmaster" ) print ("<img src=\"http://www.fender.com/electricguitars/images/jazz.jpg\">" ); if (strtolower($reponse)=="sub-sonic" ) print ("<img src=\"http://www.fender.com/electricguitars/images/sub.jpg\">" ); if (strtolower($reponse)=="toronado" ) print ("<img src=\"http://www.fender.com/electricguitars/images/toro_orange.jpg\">" ); if (strtolower($reponse)=="cyclone" ) print ("<img src=\"http://www.fender.com/electricguitars/images/clone_yellow.jpg\">" ); else echo "Non"; } ?> Maintenant quand je vais sur la page de mon script ça marche très bien, y a pas de "Non" écrit maos,par contre si j'écrit stratocaster dans le champs il me met la photo mais il m'écrit à côté "Non"... |
| louisebrooks | tu utiliserais pas un switch défois que ça serait plus claire... |
| hectoras |
:hello:
Ca change rien si je met ça...
ça bugge ce script...
ça change rien non plus... |
| Roswell_ | oui, mais si if (strtolower($reponse)!="cyclone" ) il y aura aussi marqué Non |
| oloide | bon OK je suis un débutant en php mais je comprend pas pourquoi ne pas mettre ça : [i]<?php if ($reponse!="" ) { print ("Veillez entrer un nom !" ); } if (strtolower($reponse)=="stratocaster" ) print ("<img src=\"http://www.fender.com/electricguitars/images/strat_blue_agave.jpg\">" ); if (strtolower($reponse)=="telecaster" ) print ("<img src=\"http://www.fender.com/electricguitars/images/tele_blue_agave.jpg\">" ); if (strtolower($reponse)=="jaguar" ) print ("<img src=\"http://www.fender.com/electricguitars/images/jag.jpg\">" ); if (strtolower($reponse)=="jazzmaster" ) print ("<img src=\"http://www.fender.com/electricguitars/images/jazz.jpg\">" ); if (strtolower($reponse)=="sub-sonic" ) print ("<img src=\"http://www.fender.com/electricguitars/images/sub.jpg\">" ); if (strtolower($reponse)=="toronado" ) print ("<img src=\"http://www.fender.com/electricguitars/images/toro_orange.jpg\">" ); if (strtolower($reponse)=="cyclone" ) print ("<img src=\"http://www.fender.com/electricguitars/images/clone_yellow.jpg\">" ); else print ("Non" ); ?> je n'y connais rien en algo mais il me semble que comme ça si le champs est vide, ça s'arréte au début et donc c'est rapide.... |
| youdontcare |
qu'est ce que tu veux dire ? comprends pas ... |
| skylight |
|
| youdontcare | le mieux c'est de factoriser tout ça quand même ...
par ex, faire un tableau associatif qui s'occupe de stocker les noms et images correspondantes. enfin le mieux reste une table sql évidemment. $images = array("stratocaster" => "strat_blue_agave.jpg", "telecaster" => "tele_blue_agave.jpg", "jaguar" => "jag.jpg" ); function check($s) { global $images; $s = strtolower($s); if ($images[$s]) echo '<img src="http://www.fender.com/electricguitars/images/' . $images[$s] . '">'; else echo "aucune entrée trouvée"; } $input = "jaguar"; check($input); $input = "blahblah"; check($input); |
| skylight | Salut !
Voilà ce que tu dois mettre : <html> <head> <title>Torver</title> </head> <body> Entrez en entier et en minuscule le modèle de guitare électrique Fender que vous voulez voir apparaître. <form type="post" action="fender.php3"> <input type="text" name="reponse" value="<? print $reponse; ?>"> <input type="submit" value="ok"></form> <?php if ($reponse) { if (strtolower($reponse)=="stratocaster" ) print ("<img src=\"http://www.fender.com/electricguitars/images/strat_blue_agave.jpg\">" ); if (strtolower($reponse)=="telecaster" ) print ("<img src=\"http://www.fender.com/electricguitars/images/tele_blue_agave.jpg\">" ); if (strtolower($reponse)=="jaguar" ) print ("<img src=\"http://www.fender.com/electricguitars/images/jag.jpg\">" ); if (strtolower($reponse)=="jazzmaster" ) print ("<img src=\"http://www.fender.com/electricguitars/images/jazz.jpg\">" ); if (strtolower($reponse)=="sub-sonic" ) print ("<img src=\"http://www.fender.com/electricguitars/images/sub.jpg\">" ); if (strtolower($reponse)=="toronado" ) print ("<img src=\"http://www.fender.com/electricguitars/images/toro_orange.jpg\">" ); if (strtolower($reponse)=="cyclone" ) print ("<img src=\"http://www.fender.com/electricguitars/images/clone_yellow.jpg\">" ); } else { print ("Non" ); } ?> </body> </html> |
| GhzMsnet | [reponse sans interet]
Salut hector :hello: [/reponse sans interet] |
| hectoras | si je met le truc du desus le script foire.
Mais ce qui est bbizarre c que avec ce script par exemple c nickel: Quelles sont les initiales en minuscules du nom des 2 tours qui se sont écroulés à NY ? <form type="post" action="index.php3"> <input type="text" name="reponse" value="<? print $reponse; ?>"> <input type="submit" value="ok"> </form> <? if ($reponse!="" ) if (strtolower($reponse)=="wtc" ) print("Bingo" ); else print ("Non ce n'est pas " ).$reponse; ?> |
| hectoras | donc je dois faire ça ?
<?php if ($reponse!="" ) { if (strtolower($reponse)=="stratocaster" ) print ("<img src=\"http://www.fender.com/electricguitars/images/strat_blue_agave.jpg\">" ); if (strtolower($reponse)=="telecaster" ) print ("<img src=\"http://www.fender.com/electricguitars/images/tele_blue_agave.jpg\">" ); if (strtolower($reponse)=="jaguar" ) print ("<img src=\"http://www.fender.com/electricguitars/images/jag.jpg\">" ); if (strtolower($reponse)=="jazzmaster" ) print ("<img src=\"http://www.fender.com/electricguitars/images/jazz.jpg\">" ) if (strtolower($reponse)=="sub-sonic" ) print ("<img src=\"http://www.fender.com/electricguitars/images/sub.jpg\">" ); if (strtolower($reponse)=="toronado" ) print ("<img src=\"http://www.fender.com/electricguitars/images/toro_orange.jpg\">" ); if (strtolower($reponse)=="cyclone" ) print ("<img src=\"http://www.fender.com/electricguitars/images/clone_yellow.jpg\">" ); } else print ("Non" ); ?> |
| Sebastien | ben s'il ferme ca boucle } avant le else ca devrait etre bon, car s'il remonte le esle il fera tjs les tests et perdra en optimisation de test |
| oloide | si tu met une { ça va faire pareille non ???
je pense plutôt qu'il faut mettre une instruction style print ("Non" ); aprés le premier if ! |
| Sebastien | rajoute then apres le premier if ou { [je c plus trop c quoi la synthax sous php] |
| oloide | salut
tu n'as pas mis d'instruction aprés le premier if (cas où le champ est vide). Donc les if qui suivent sont interprétées comme des sous-boucles et donc finalement le else est toujours vrai donc exécuté ! |
| hectoras | Salut,
J'ai fait un script en php qui est le suivant: <html> <head> <title>Torver</title> </head> <body> Entrez en entier et en minuscule le modèle de guitare électrique Fender que vous voulez voir apparaître. <form type="post" action="fender.php3"> <input type="text" name="reponse" value="<? print $reponse; ?>"> <input type="submit" value="ok"></form> <?php if ($reponse!="" ) if (strtolower($reponse)=="stratocaster" ) print ("<img src=\"http://www.fender.com/electricguitars/images/strat_blue_agave.jpg\">" ); if (strtolower($reponse)=="telecaster" ) print ("<img src=\"http://www.fender.com/electricguitars/images/tele_blue_agave.jpg\">" ); if (strtolower($reponse)=="jaguar" ) print ("<img src=\"http://www.fender.com/electricguitars/images/jag.jpg\">" ); if (strtolower($reponse)=="jazzmaster" ) print ("<img src=\"http://www.fender.com/electricguitars/images/jazz.jpg\">" ); if (strtolower($reponse)=="sub-sonic" ) print ("<img src=\"http://www.fender.com/electricguitars/images/sub.jpg\">" ); if (strtolower($reponse)=="toronado" ) print ("<img src=\"http://www.fender.com/electricguitars/images/toro_orange.jpg\">" ); if (strtolower($reponse)=="cyclone" ) print ("<img src=\"http://www.fender.com/electricguitars/images/clone_yellow.jpg\">" ); else print ("Non" ); ?> </body> </html> J'ai mis ce script online sur la page http://www.indolive.ovh.org/php/fender.php3 Comme vous pouvez le voir ça foire car quand on arrive sur la page il met directement le "Non" alors que je voudrais que ce "Non" apparaisse que si on met une autre variable que celle que j'ai définie par if (strtolower)... Comment faire ? |




