Bmi rechner geht nicht

Hallo wöllte gern ein bmi rechner auf meiner seite einbauen nur leider funz das nicht so was mach ich falsch…kann mir jemand helfen?

und zwar gibt es zwei datein eine wo das script drin ist die wie folgt aus sieht.


<?php     
$untergewicht="Sie haben Untergewicht";        //Text der bei Untergewicht angezeigt wird
$normalgewicht="Sie haben Normalgewicht";      //Text der bei Normalgewicht angezeigt wird
$uebergewicht="Sie haben Übergewicht";         //Text der bei Uebergewicht angezeigt wird
?>
<center>

<?php
$error = 0;
if($gewicht == "") $error = 1;
if($groesse == "") $error = 1;
if($error == 0) {
$bmi=$gewicht/($groesse*$groesse);
echo "BMI: $bmi <br /><br />";
if ($geschlecht == "m") {
if ($bmi < 20) echo "$untergewicht";
if ($bmi >= 20 and $bmi < 25) echo "$normalgewicht";
if ($bmi >= 25) echo "$uebergewicht";
}
else {
if ($bmi < 19) echo "$untergewicht";
if ($bmi >= 19 and $bmi < 24) echo "$normalgewicht";
if ($bmi >= 24) echo "$uebergewicht";
}
}
else {
     echo "Bitte füllen sie alle Felder aus";
}
?>
<br><br>
<a href="bmir.php"><b>Neu berechnen</b></a>
<p>

und eine wo die Form felder drin sind…


<br>BMI Body Mass Index-Berechnung<br><br>
<table >
<form action="bmi.php" method="post">
<table >
<tr>
 <td>Gewicht (kg): </td>
 <td><input type="Text" name="gewicht" value="" size="" maxlength=""> </td>
 <td> </td>
</tr>
<tr>
 <td>Gr&ouml;&szlig;e (m) *: </td>
 <td><input type="Text" name="groesse" value="" size="" maxlength=""> </td>
 <td> </td>
</tr>
<tr>
 <td>Geschlecht: </td>
 <td><input type="radio" name="geschlecht" value="m"> m&auml;nnlich </td>
 <td> </td>
</tr>
<tr>
 <td> </td>
 <td><input type="radio" name="geschlecht" value="w"> weiblich </td>
 <td> </td>
</tr>
<tr>
 <td> </td>
 <td><input type="Submit" name="" value="Berechnen"> </td>
 <td><input type="reset"> </td>
</tr>
</table>
</form>
*Angabe bitte mit Punkt z. B. 1.65 nicht 1,65
<center>

wo ist mein fehler warum geht das nich bei bplaced hatte das ganze bei funpic und da lief es…möchte das aber gern bei bplaced zum laufen bringen…

danke für eure hilfe.

mfg

Du musst die Felder, die über das Formular gesendet wurden so abrufen:

Da register globals hier aus ist.

Geilo dank dir das hat geklappt super sache danke für die schnelle hilfe …

sehr geil freu freu freu

noxh ein tipp, wie du auch angaben mit punkt annhemen kannst:

<?php

// ... dein code
$deutsche_zahl = 34,6;
$englische_zahl = (float) str_replace(",",".",$deutsche_zahl);
echo $englische_zahl;
//... dein code 

?>

GIBT AUS:
34.6

[quote=“jw-lighting”]// … dein code
$deutsche_zahl = 34,6;[/quote]

Dummerweise funktioniert die Zuweisung so genau nicht.
PHP ist Englisch, deshalb muss bei solch einer Zuweisung auch das Englische Dezimaltrennzeichen verwendet werden, was in dem Fall ein Punkt ist :wink:

Oder du weißt die Zahl als String zu.

Überprüfung auf vollständigkeit würde ich mit empty realisieren:

if(empty($_GET['gewicht']) || empty($_GET['groesse']))
    echo "Geben sie bitte Größe und Gewicht ein!";

und die Zuweisung der Zahlen so:

$gewicht = str_replace(',', '.', $_GET['gewicht']);
$gewicht = (float) preg_replace("/[^0-9\.]/i", '', $gewicht);

Das erlaubt dann auch Komma statt Dezimalpunkt :wink: