IMC ET CO

Signaler
Messages postés
46
Date d'inscription
mercredi 29 octobre 2003
Statut
Membre
Dernière intervention
10 novembre 2009
-
Messages postés
8587
Date d'inscription
mercredi 17 novembre 2004
Statut
Contributeur
Dernière intervention
23 janvier 2020
-
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

Messages postés
8587
Date d'inscription
mercredi 17 novembre 2004
Statut
Contributeur
Dernière intervention
23 janvier 2020

Parse error: syntax error, unexpected T_NS_SEPARATOR, expecting ',' or ';' in /homez.XXX/siteweb/www/imc.php on line 153

Ca ne fonctionne pas...
Messages postés
1
Date d'inscription
vendredi 10 février 2006
Statut
Membre
Dernière intervention
11 octobre 2009

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>
Messages postés
18
Date d'inscription
dimanche 31 août 2003
Statut
Membre
Dernière intervention
18 novembre 2004

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.
Messages postés
46
Date d'inscription
mercredi 29 octobre 2003
Statut
Membre
Dernière intervention
10 novembre 2009

:-(
Quand vous mettez de mauvaises notes, dites-moi pourquoi !