BMI-calc
BMI Rechner: Der Body-Mass-Index (BMI) – auch Körpermasseindex (KMI), Körpermassenzahl (KMZ) oder Quetelet-Kaup-Index – ist eine Maßzahl für die Klassifizierung des Körpergewichts eines Menschen in Relation zu seiner Körpergröße. Sie wurde 1832 von Adolphe Quetelet sowie nach dem Ersten Weltkrieg von Ignaz Kaup entwickelt. Der BMI ist lediglich eine grob schätzende Maßzahl, da sie weder Statur und biologisches Geschlecht noch die individuelle Zusammensetzung der Körpermasse aus Fett- und Muskelgewebe eines Menschen berücksichtigt.
<iframe> <?php function toFloat($v): ?float {
if ($v === null) return null;
$v = trim((string)$v);
if ($v === ) return null;
$v = str_replace(',', '.', $v);
if (!is_numeric($v)) return null;
return (float)$v;
}
$weight = toFloat($_POST['weight'] ?? null); // kg $height = toFloat($_POST['height'] ?? null); // cm $bmi = toFloat($_POST['bmi'] ?? null);
$result = ""; $error = "";
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$filled = 0; foreach ([$weight, $height, $bmi] as $x) if ($x !== null) $filled++;
if ($filled < 2) {
$error = "Bitte mindestens zwei Felder ausfüllen.";
} else {
// Validations (only for provided fields)
if ($weight !== null && ($weight <= 0 || $weight > 600)) $error = "Gewicht wirkt ungültig.";
if ($height !== null && ($height <= 0 || $height > 300)) $error = "Größe wirkt ungültig.";
if ($bmi !== null && ($bmi <= 0 || $bmi > 150)) $error = "BMI wirkt ungültig.";
if ($error === "") {
// Determine which one to calculate: prefer empty one, if all 3 filled -> recompute BMI from weight+height
if ($weight === null && $height !== null && $bmi !== null) {
$h_m = $height / 100.0;
$weight = $bmi * ($h_m ** 2);
$result = "Gewicht berechnet.";
} elseif ($height === null && $weight !== null && $bmi !== null) {
$h_m = sqrt($weight / $bmi);
$height = $h_m * 100.0;
$result = "Größe berechnet.";
} else {
// BMI berechnen (wenn BMI leer ODER alle 3 ausgefüllt)
if ($weight === null || $height === null) {
$error = "Für BMI-Berechnung bitte Gewicht und Größe angeben.";
} else {
$h_m = $height / 100.0;
$bmi = $weight / ($h_m ** 2);
$result = "BMI berechnet.";
}
}
}
}
}
function fmt($v, $dec=2) {
if ($v === null) return ""; return number_format($v, $dec, ',', );
} ?> <!doctype html>
BMI Rechner
Gewicht: kg
Größe: cm
BMI:
</iframe>