IMC ET CO

tazmania37 Messages postés 46 Date d'inscription mercredi 29 octobre 2003 Statut Membre Dernière intervention 10 novembre 2009 - 11 juin 2004 à 14:13
franckccm Messages postés 8587 Date d'inscription mercredi 17 novembre 2004 Statut Contributeur Dernière intervention 23 janvier 2020 - 31 déc. 2013 à 13:09
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/23543-imc-et-co

franckccm Messages postés 8587 Date d'inscription mercredi 17 novembre 2004 Statut Contributeur Dernière intervention 23 janvier 2020
31 déc. 2013 à 13:09
Parse error: syntax error, unexpected T_NS_SEPARATOR, expecting ',' or ';' in /homez.XXX/siteweb/www/imc.php on line 153

Ca ne fonctionne pas...
sharkyhome Messages postés 1 Date d'inscription vendredi 10 février 2006 Statut Membre Dernière intervention 11 octobre 2009
11 oct. 2009 à 06:33
Ce script ne fonctionne pas si register_globals est off !! Depuis PHP 4.2 c'est désactivé et pour des raisons de sécurité, c'est préférable. Donc voilà le même, mais compatible register_globals est off

<HTML>
<HEAD>

<style type='text/css'>
BODY {
scrollbar-face-color: #A6A6A6;
scrollbar-shadow-color: #ADADAD;
scrollbar-highlight-color: #FFFFFF;
scrollbar-3dlight-color: #FFFFFF;
scrollbar-darkshadow-color: #000000;
scrollbar-track-color: #adadad;
scrollbar-arrow-color: #000000;
}
textarea {
border:1px solid black;
background-color: #A6A6A6;
font-family:"verdana";
color:black;
}
input {
color:black; background-color:#A6A6A6;
}
</style>

<TITLE> IMC & Co </TITLE>

</HEAD>

<?
if (!isset($_POST['taille']) || !isset($_POST['poids'])){
} else {
$taille = $_POST['taille'];
$poids = $_POST['poids'];
$age = $_POST['age'];
$sexe = $_POST['sexe'];
}
//contrôle les variables si elles sont déjà utilisé
?>
<CENTER>Calcul de l'IMC et d'autres paramètres</CENTER>
<form name="imc" method="POST" action="imc.php">
<CENTER>Votre taille (cm) :
" maxlength="6">
</CENTER>,

----

<CENTER>Votre poids (kg) :
" maxlength="6">
</CENTER>,

----

<CENTER>Votre age (an) :
" maxlength="6">
</CENTER>,

----

<CENTER>Votre sexe :

<select name="sexe" id="sexe" value="<?=$_POST['sexe']?>">
<?php
if ($sexe)
{
if ($sexe=="Femme")
{
echo"<OPTION VALUE='Femme' SELECTED>Femme</option>";
echo"<OPTION VALUE='Homme'>Homme</option>";
}
else
{
echo"<OPTION VALUE='Homme' SELECTED>Homme</option>";
echo"<OPTION VALUE='Femme'>Femme</option>";
}

}
else
{
echo"<OPTION VALUE='Homme' SELECTED>Homme</option>";
echo"<OPTION VALUE='Femme'>Femme</option>";
}
?>
</SELECT></CENTER>,

----

<CENTER>
</CENTER>

</form>

<?
if($taille <> '')
{
echo "<CENTER>\n\n\";
// ####################################################################### IMC
$imc=round($poids/(($taille*$taille)/10000),2);
echo \"----
IMC (Indice Masse Corporelle), ".$imc;
if($imc<10) echo "(Dénutrition Grade V)";
if(($imc>=10) & ($imc<=12.99)) echo " (Dénutrition Grade IV), \n\";
if(($imc>=13) & ($imc<=15.99)) echo \" (Dénutrition Grade III)</TD>\n\";
if(($imc>=16) & ($imc<=16.99)) echo \" (Dénutrition Grade II)</TD>\n\";
if(($imc>=17) & ($imc<=18.49)) echo \" (Dénutrition Grade I)</TD>\n\";
if(($imc>=18.5) & ($imc<=24.99)) echo \" (Normal)</TD>\n\";
if(($imc>=25) & ($imc<=29.99)) echo \" (Surpoids)</TD>\n\";
if(($imc>=30) & ($imc<=34.49)) echo \" (Obésité Grade I)</TD>\n\";
if(($imc>=35) & ($imc<=39.99)) echo \" (Obésité Grade II)</TD>\n\";
if($imc>=40) echo \" (Obésité Grade III)</TD>\n\";

// ####################################################################### POIDS IDEAL
if($sexe==\"Homme\") $poidsid=round(((0.726*$taille)-59.354),2);
else $poidsid=round(((0.65*$taille)-50.676),2);
echo \"----
Poids idéal, ".$poidsid." Kilos, \n\";

// ####################################################################### EAU TOTALE
if($sexe==\"Homme\") $eautot=round(($poids*0.60),2);
else $eautot=round(($poids*0.55),2);
echo \"----
Eau totale contenue dans le corps, ".$eautot." Litres, \n\";

// ####################################################################### SURFACE CORPORELLE
$surface=round((pow((($taille*$poids)/3600),0.5)),2);
echo \"----
Surface corporelle, ".$surface." m², \n\";

// ####################################################################### POIDS MAIGRE
if($sexe==\"Homme\") $lbm=round(((1.10*$poids) - (128*(($poids*$poids)/($taille*$taille)))),2);
else $lbm=round(((1.07*$poids) - (148*(($poids*$poids)/($taille*$taille)))),2);
echo \"----
Poids maigre, ".$lbm." Kilos, \n\";

// ####################################################################### DER
if($sexe==\"Homme\") $der=round(((13.707*$poids)+(492.3*$taille/100)-(6.673*$age)+77.607),2);
else $der=round(((9.740*$poids)+(172.9*$taille/100)-(4.737*$age)+667.051),2);
echo \"----
Dépenses énergétiques au repos et à jeun (DER), ".$der." Kcal, \n\";

// ####################################################################### BESOIN ENERGETIK 24 H
$besoin=round(($der*1.375),2);
$besoin2=round(($der*1.55),2);
echo \"----
Besoin énergétique en 24 heures (personnes sédentaires), ".$besoin2." Kcal, \n\";
echo \"----
Besoin énergétique en 24 heures (personnes actives), ".$besoin." Kcal, \n\";

// ####################################################################### AZOTE CORPOREL TOTAL
$azote=round((($lbm*28.8)+2.28),2);
echo \"----
Azote corporel total, ".$azote.", \n\";
echo"
\n</CENTER>";

}
else echo "<CENTER>Entrez les paramètres ci-dessus</CENTER>";
?>

</HTML>
atrickofthetail Messages postés 18 Date d'inscription dimanche 31 août 2003 Statut Membre Dernière intervention 18 novembre 2004
18 nov. 2004 à 10:19
Je n'ai pas mis de note, mais je m'interroge franchement sur l'utilité que peut avoir un tel script, tout correct qu'il soit au niveau syntaxique.

Ceci dit bon il faut bien commencer par quelque chose ... Mais c'est vrai qu'un calculateur pareil est assez surprenant comme projet en php ;)

Mais pour parler un peu du code, il faudrait que tu sois plus clair (plus de retours à la ligne, d'indentations pour les boucles ...) et même si c'est tentant d'insérer du CSS et une feuille de style, ça ne contribue pas à la lisibilité du code : ici c'est le php qui importe ! Par contre bien pour les commentaires, qui sont sobres et clairs.

Sinon, peut-être devrais-tu faire plusieurs pages et les mettre dans un zip : ce serait plus clair, et on pourrait se concentrer plus aisément sur un des aspects du programme.
tazmania37 Messages postés 46 Date d'inscription mercredi 29 octobre 2003 Statut Membre Dernière intervention 10 novembre 2009
11 juin 2004 à 14:13
:-(
Quand vous mettez de mauvaises notes, dites-moi pourquoi !