Calculateur d'IMC

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Calculateur d'IMC

Re: Calculateur d'IMC

par Ryle » 17 nov. 2009, 20:31

PS: le <br/> je l'ai trouvé dans le tutoriel, ça a l'air de marché!? Mais il semble que <br> est plus conventionnel, j'utiliserai plutôt celui là à l'avenir.
Le <br/> fonctionne très bien, c'est simplement du xhtml tandis que le <br> est du html (c'est ce que j'avais essayé de dire plus haut, mais j'ai du mettre un espace avant le / et il a été remplacé par un retour à la ligne dans le forum :()

Donc tout dépend du doctype que tu utilises et qui conditionnera la syntaxe à utiliser :) Nota, ça va également jouer sur tes autres balises, exemple : en html tes inputs ne seront pas fermés non plus (<input type="text" name="poids">) alors qu'en xhtml ils seront fermés (<input type="text" name="poids" />)

Ps : Si ta question est résolue, pense à l'indiquer pour que les futures personnes qui voudront consulter ce sujet sachent qu'il contient une solution en cliquant sur le bouton Image

Re: Calculateur d'IMC

par Invité » 16 nov. 2009, 23:30

j'avais oublié de mettre un "post" en majuscule, c'est corrigé ;)

Re: Calculateur d'IMC

par Matthieu1985 » 16 nov. 2009, 23:22

Code : Tout sélectionner

<html> <head> <title>Ma page d'accueil </title> </head> <body> <form name="imcform" method="post" action="imc.php"> Entrez votre prénom: <input type="text" name="nom" /><br> Entrez votre taille (sous la forme 1.70) <input type="text" name="taille" /> <br> Entrez votre poids (en KG) <input type="text" name="poids" /> <br> <input type="submit" name="valider" value="OK" /> </form> <?php if (isset($_post['valider'])) { $name=$_POST['nom']; $taille=$_POST['taille']; $poids=$_POST['poids']; $IMC=$poids/($taille*$taille); echo'Bonjour '.$name.' <br/> votre IMC (indice de masse corporelle) est exactement de '.$IMC.' <br/> vous'; if ($IMC<16.5) { echo'êtes en dénutrition'; } elseif ($IMC<18.5) { echo'êtes en état de maigreur'; } elseif ($IMC<25) { echo'avez une corpulence normale'; } elseif ($IMC<30) { echo'êtes en surpoids'; } elseif ($IMC<35) { echo'êtes en état d\'obèsité modérée'; } elseif ($IMC<40) { echo'êtes en état d\'obèsité sévère'; } else { echo'êtes en état d\'obèsité morbide, consultez un médecin'; } } ?> </body> </html>
En fait je me demande si ça vient pas de mon "wamp", en local, parce que j'ai copié collé la "solution" de mon exercice, par l'auteur du tutoriel, il a fait un peu différemment moi de moi, et ça ne marche pas, toujours du code PHP en bas de la page. (pourtant c'est "online" et mon fichier php est dans le bon répertoire....

Je vais aller me coucher j'y verrais plus clair demain. Merci bien en tout cas de ton aide, j'ai corrigé le "name" :)

PS: le <br/> je l'ai trouvé dans le tutoriel, ça a l'air de marché!? Mais il semble que <br> est plus conventionnel, j'utiliserai plutôt celui là à l'avenir.

Re: Calculateur d'IMC

par Ryle » 16 nov. 2009, 23:11

Montre nous ton code modifié :)

Nota :
- la balise </br> que tu utilises dans ton formulaire n'existe pas, c'est <br> (html) ou <br /> (xhtml)
- dans ton "bonjour" tu appelles la variable $nom qui n'est pas définie... c'est $name qu'il te faut utiliser ;)

Re: Calculateur d'IMC

par Matthieu1985 » 16 nov. 2009, 23:03

Le langage PHP est sensible à la casse lorsqu'il s'agit de variable. Il te faut donc bien faire attention et ne pas mélanger la variable $_POST qui est une variable super globale contenant les données transmises en post par ton formulaire et $_post qui est... euh... bah qui n'est rien en fait, mais qui dans tout les cas est différente de $_POST ;)
Merci de ta réponse, j'ai complètement zappé le fait que les variables sont sensibles à la casse et que POST doit s'écrire en majuscule effectivement !

Bon ce problème est résolu, je m'approche sans doutedu fonctionnement :D mais ça ne marche toujours pas...

en fait j'ai ça qui s'affiche sous le formulaire:

Code : Tout sélectionner

votre IMC (indice de masse corporelle) est exactement de '.$IMC.' vous'; if ($IMC<16.5) { echo'êtes en dénutrition'; } elseif ($IMC<18.5) { echo'êtes en état de maigreur'; } elseif ($IMC<25) { echo'avez une corpulence normale'; } elseif ($IMC<30) { echo'êtes en surpoids'; } elseif ($IMC<35) { echo'êtes en état d\'obèsité modérée'; } elseif ($IMC<40) { echo'êtes en état d\'obèsité sévère'; } else { echo'êtes en état d\'obèsité morbide, consultez un médecin'; } } ?>
Donc ce n'est plus interprété comme du code PHP à partir de la seconde ligne de mon premier "echo". Pourtant j'ai l'impression de bien avoir utilisé la fonction echo...

Re: Calculateur d'IMC

par Ryle » 16 nov. 2009, 22:47

Le langage PHP est sensible à la casse lorsqu'il s'agit de variable. Il te faut donc bien faire attention et ne pas mélanger la variable $_POST qui est une variable super globale contenant les données transmises en post par ton formulaire et $_post qui est... euh... bah qui n'est rien en fait, mais qui dans tout les cas est différente de $_POST ;)

Calculateur d'IMC

par Matthieu1985 » 16 nov. 2009, 22:17

Bonjour à tous :)

Je débute l'apprentissage du PHP, je me suis lancé dans un exercice trouvé sur le net, qui consiste à créer un calculateur d'IMC (l'utilisateur entre son nom, son piods, sa taille, et le php génère un texte du genre, "Votre IMC est exactement de 45, vous êtes en surpoids... etc selon l'IMC.

J'ai tapé mon code, et ça ne marche pas (je suis en réseau local avec wamp). Je vous montre mon code, au cas où quelqu'un pourrait voir d'où vient l'erreur:

Code : Tout sélectionner

<html> <head> <title>Ma page d'accueil </title> </head> <body> <form name="imcform" method="post" action="imc.php"> Entrez votre prénom: <input type="text" name="nom" /></br> Entrez votre taille (sous la forme 1.70) <input type="text" name="taille" /> </br> Entrez votre poids (en KG) <input type="text" name="poids" /> </br> <input type="submit" name="valider" value="OK" /> </form> <?php if (isset($_post['valider'])) { $name=$_post['nom']; $taille=$_post['taille']; $poids=$_post['poids']; $IMC=$poids/($taille*$taille); echo'Bonjour '.$nom.' <br/> votre IMC (indice de masse corporelle) est exactement de '.$IMC.' <br/> vous'; if ($IMC<16.5) { echo'êtes en dénutrition'; } elseif ($IMC<18.5) { echo'êtes en état de maigreur'; } elseif ($IMC<25) { echo'avez une corpulence normale'; } elseif ($IMC<30) { echo'êtes en surpoids'; } elseif ($IMC<35) { echo'êtes en état d\'obèsité modérée'; } elseif ($IMC<40) { echo'êtes en état d\'obèsité sévère'; } else { echo'êtes en état d\'obèsité morbide, consultez un médecin'; } } ?> </body> </html>