Menu schließen

BMI-php

Frage: BMI-php
(33 Antworten)

 
YO,
also ich muss in informatik so ne komische aufgabe machen:

1.Erstelle ein HTML-Formular zur Eingabe aller notwendigen Angaben für die Berechnung des BMI.
Benutze dazu ein bereits vorhandenes Formular und #ändere es um.

2. Schreibe eine PHP-Seite, die von dem Formular aufgerufen wird. Diese Seite soll die BMI-Werte berechnen und entsprechende Meldungen produzieren.

Ausgabebeispiel:
Ihr BMI beträgt 27,4
Das ist im Alter von22 Jahren unerwünscht!
Sie haben Übergewicht

(BMI= Körpergewicht in kg/ (Körpergröße in m)²)



also die nummer eins hab ich, und die zwei eigentlich auch, aber die funktioniert bei mir irgendwie nicht

also es sieht so bei mir aus:
http://phptestacc.ph.ohost.de/FuckBodyMassIndex.php

aber wenn ich da jetzt was eingebe, dann kommt da "dise webseite ist nicht verfügbar blablabla"
aber die seite, an welche die eingabe gesendet wird ist da
GAST stellte diese Frage am 13.05.2010 - 20:08


Autor
Beiträge 0
14
Antwort von youngsql (ehem. Mitglied) | 13.05.2010 - 20:12
Da
fehlt nen Punkt für *.php bei dem Pfad zu der Datei, die mit dem Formular verknüpft ist.


Autor
Beiträge 0
14
Antwort von youngsql (ehem. Mitglied) | 13.05.2010 - 20:13
Alles andere können wir nicht beurteilen außer, ob es nach Html-Standards okay ist, da Php nach dem Interpreten nicht mehr als Plain-text ausgegeben wird.


Autor
Beiträge 0
14
Antwort von -max- (ehem. Mitglied) | 13.05.2010 - 20:16
ich würde für das mäddlich/Weiblich lieber checkboxen hin machen, oder die EIngabe zumindest auf m oder w reduzieren.

Körpergröße würde ich in cm verlangen

 
Antwort von GAST | 13.05.2010 - 20:24
ok also jetzt hab ich es wenigstens geschafft, dass man die seite aufrufen kann, wenn man auf "berechnen" drückt, aber dann kommt so ein scheiß, nämlich mein php-skript

http://phptestacc.ph.ohost.de/ScheissBMI.php


Autor
Beiträge 0
14
Antwort von youngsql (ehem. Mitglied) | 13.05.2010 - 20:25
So hier mal ne schnelle version

<?php
$groesse = $_POST[`groesse`];
$gewicht = $_POST[`gewicht`];
$alter = $_POST[`alter`];

if(empty($groesse) && empty($gewicht) && empty($alter){
?>
<form method="Post" action="BMI.php">
<input type="text" name"groesse" value="Gr&oouml;ße" /></br>
<input type="text" name"gewicht" value="Gewicht" /></br>
<input type="text" name"alter" value="alter" /></br>
<input type="submit" value="Her mitm BMI"/>
</form>
<?php
}
elseif(empty($groesse) || empty($alter) || empty($gewicht)){
?>
<form method="Post" action="BMI.php">
<input type="text" name"groesse" value="Gr&oouml;ße" /></br>
<input type="text" name"gewicht" value="Gewicht" /></br>
<input type="text" name"alter" value="alter" /></br>
<input type="submit" value="Her mitm BMI"/>
</form>
<?php
}
else
{
$groesse2 = $groesse*$groesse;
$BMI = $gewicht/$groesse2;
echo $BMI;
}
?>


Autor
Beiträge 0
14
Antwort von youngsql (ehem. Mitglied) | 13.05.2010 - 20:27
Du scheinst da was ausserhalb von "<?php" und "?>" stehen zu haben..

 
Antwort von GAST | 13.05.2010 - 20:28
oh fuck, ich hab vergessen $_POST zu schreiben


Autor
Beiträge 0
14
Antwort von -max- (ehem. Mitglied) | 13.05.2010 - 20:40
$_Post brauchst du nicht (unbedingt).

Nur auf bestimmten servern, in denen bestimmte Sicherheitsfunktionen aktiviert/deaktiviert sind.

was bei dir nicht der fall ist

 
Antwort von GAST | 13.05.2010 - 20:56
dieser kack funktioniert einfach nicht, ich will das berechnen, aber es geht nicht und als ausgabe kommt dann immer so ein scheiß


Autor
Beiträge 0
14
Antwort von -max- (ehem. Mitglied) | 13.05.2010 - 21:06
gib mal den link... ich guck mal drüber

 
Antwort von GAST | 14.05.2010 - 13:32
also ich bin jetzt grad so weit:

http://phptestacc.ph.ohost.de/BMI_Calculator5.php

aber, wenn ich da was eingebe, dann kommt da nur bei "diagnose" was.
und da steht auch, dass in der zeile was falsch sei, und in der zeile 54 steht:
$bmi = $gewicht/($gross*$gross);

und was ist daran falsch?

 
Antwort von GAST | 14.05.2010 - 13:54
und mein skript sieht so aus:

<html>
<head>
<h1>
Das ist mein Body Mass Index Rechner
</h1>
</head>
<body>
<h2>
Er errechnet euren Body Mass Index und sagt euch eure Gewichtsklasse
</h2>
<table border=1>
<form action="BMI_Calculator5.php" method="post">
<tr>
<td>
Wie gross sind sie in Meter? (Zahl mit (.)trennen):
</td>
<td>
<input type="text" name"gross" /><br /></td>

<tr>
<td>
Ihr Gewicht in Kilogramm:
</td>
<td>
<input type="text" name"gewicht" /><br /></td>

<tr>
<td>
Ihr Alter:
</td>
<td>
<input type="text" name"alter" /><br /></td>

<tr>
<td>
Ihr Geschlecht:
</td>
<td>
Maennlich :<input name="gesch" type="radio" value="m" /><br /></td>
<td>
Weiblich :<input name="gesch" type="radio" value="m" /><br /></td>


<tr>
<td>
<input type="submit" value="Berechne!" /></td>

</table>
</form>


<?php


$bmi = $gewicht/($gross*$gross);
echo ("Ihre Daten:<br><br>");


echo ("<b>BMI</b>: $bmi <br>");

echo ("Alter:$alter <br>");

echo ("Groesse:$gross <br>");

echo ("Gewicht: $gewicht <br>");

echo ("Diagnose: ");

if ($gesch == `m`)
{
if ($bmi < 20)
{
echo ("Untergewicht");
}
elseif (($bmi >= 20) && ($bmi <= 25))
{
echo ("Normalgewicht");
}
elseif (($bmi > 25) && ($bmi < 30))
{
echo ("Übergewicht");
}
elseif (($bmi >= 30) && ($bmi <= 40))
{
echo ("Fettsucht (Adipositas)");
}
elseif ($bmi > 40)
{
echo ("Fettsucht ( massive Adipositas)");
}
}


if ($gesch == `w`)
{
if ($bmi < 19)
{
echo ("Untergewicht");
}
elseif (($bmi >= 19) && ($bmi <= 24))
{
echo ("Normalgewicht");
}
elseif (($bmi > 24) && ($bmi < 30))
{
echo ("Übergewicht");
}
elseif (($bmi >= 30) && ($bmi <= 40))
{
echo ("Fettsucht (Adipositas)");
}
elseif ($bmi > 40)
{
echo ("Fettsucht ( massive Adipositas)");
}
}

?>
</body>
</html>

 
Antwort von GAST | 15.05.2010 - 18:48
ok also vergisst den vorherigen scheiß, uckt euch mal das hier bitte an:

<form action="BMI_rechner.php" method="post">

<h2>
BMI berechnen
</h2>
<br>
<pre>
Größe in cm: <input type="text" name="gross" />
<br>
Gewicht in kg: <input type="text" name="gewicht" />
<br>
Alter: <input type="text" name="alter" />
<br>
Geschlecht:
Mann <input name="gesch" type="radio" value="m" />
Frau <input name="gesch" type="radio" value="w" />
<input type="submit" value="BMI berechnen!" />
<pre>

<?php

$g_in_m = $gross/100;
$bmi = $gewicht / ($g_in_m*$g_in_m);
echo ("Ihre Daten:<br><br>");


echo ("<b>BMI</b>: $bmi <br>");

echo ("Alter:$alter <br>");

echo ("Groesse:$gross <br>");

echo ("Gewicht: $gewicht <br>");

echo ("Diagnose: ");
if ($gesch == `m`)
{
if ($bmi < 18.5)
{
echo ("Untergewicht");
}
elseif (($bmi >= 18.5) && ($bmi <= 25))
{
echo ("Normalgewicht");
}
elseif (($bmi > 25) && ($bmi < 30))
{
echo ("Übergewicht");
}
elseif ($bmi >= 30)
{
echo ("Fettsucht (Adipositas)");
}
}

?>

 
Antwort von GAST | 15.05.2010 - 18:50
und das sieht so aus: http://phptestacc.ph.ohost.de/BMI_REchner.php


aber jetzt möchte ich es tabellarisch haben UND ich muss noch das andere geschlecht berücksichtigen,nämlich das weibliche, ich hab dieses skript dann ein wenig überschrieben, und zwar so:....


Fortsetzung folgt...........

 
Antwort von GAST | 15.05.2010 - 18:57
<html>
<head>
<h1>
Das ist mein Body Mass Index Rechner
</h1>
</head>
<body>
<h2>
Er errechnet euren Body Mass Index und sagt euch eure Gewichtsklasse
</h2>
<table border=1>
<form action="BodyMassCalculator7.php" method="post">
<tr>
<td>
Wie gross sind sie in cm?:
</td>
<td>
<input type="text" name"gross" /><br /></td>

<tr>
<td>
Ihr Gewicht in Kilogramm:
</td>
<td>
<input type="text" name"gewicht" /><br /></td>

<tr>
<td>
Ihr Alter:
</td>
<td>
<input type="text" name"alter" /><br /></td>

<tr>
<td>
Ihr Geschlecht:
</td>
<td>
Maennlich :<input name="gesch" type="radio" value="m" /><br /></td>
<td>
Weiblich :<input name="gesch" type="radio" value="m" /><br /></td>


<tr>
<td>
<input type="submit" value="Berechne!" /></td>

</table>
</form>
</body>
</html>

<?php

$g_in_m = $gross/100;
$bmi = $gewicht / ($g_in_m*$g_in_m);
echo ("Ihre Daten:<br><br>");


echo ("<b>BMI</b>: $bmi <br>");

echo ("Alter:$alter <br>");

echo ("Groesse:$gross <br>");

echo ("Gewicht: $gewicht <br>");

echo ("Diagnose: ");
if ($gesch == `m`)
{
if ($bmi < 18.5)
{
echo ("Untergewicht");
}
elseif (($bmi >= 18.5) && ($bmi <= 25))
{
echo ("Normalgewicht");
}
elseif (($bmi > 25) && ($bmi < 30))
{
echo ("Übergewicht");
}
elseif ($bmi >= 30)
{
echo ("Fettsucht (Adipositas)");
}
}

echo ("Diagnose: ");
if ($gesch == `w`)
{
if ($bmi < 18.5)
{
echo ("Untergewicht");
}
elseif (($bmi >= 18.5) && ($bmi <= 25))
{
echo ("Normalgewicht");
}
elseif (($bmi > 25) && ($bmi < 30))
{
echo ("Übergewicht");
}
elseif ($bmi >= 30)
{
echo ("Fettsucht (Adipositas)");
}
}
?>

 
Antwort von GAST | 15.05.2010 - 18:58
und die ausgabe sieht so aus: http://phptestacc.ph.ohost.de/BMI_REchner.php


und dieser fuck funktioniert nicht

 
Antwort von GAST | 15.05.2010 - 19:00
und es wäre so verdammt nett, wenn mir jemand helfen kann!


Autor
Beiträge 4080
17
Antwort von S_A_S | 15.05.2010 - 19:00
An die "Division by zero on line 56"
denkt hier auch keiner von euch?

Ist doch kein wunder, dass das nicht geht, wenn er sofort versucht beim laden der seite durch null zu teilen!
Da muss ein Prüfung auf NULL rein, ansonsten setzt er Zahlen immer auf 0 bei Artim. Operationen.

 
Antwort von GAST | 15.05.2010 - 19:05
ok ok, das hab ich verstanden.......ähm eigentlich nicht

wie soll ich das machen? also die prüfung auf null?

irgendwie so:

if(isset ($gross >0)

und dann die rechung?


Autor
Beiträge 4080
17
Antwort von S_A_S | 15.05.2010 - 19:08
if($varname && $anderevar && $nochnevariable)
{
blabla trallala
rechnen
}
reicht eigentlich da schon.

Trotzdem solltest du mal schauen, wieso deine Variablen offensichtlich auch nach dem abschicken des Formulars NULL sind.

einfach mal stattdessen die variablen direkt über $_POST[`name`] laden!

Verstoß melden
Hast Du eine eigene Frage an unsere Informatik-Experten?

> Du befindest dich hier: Support-Forum - Informatik