Problem mit erstellen einer PHP Seite

Beezlebub-

Ensign
Registriert
Juli 2008
Beiträge
131
Hallo Leute,

wir haben im Moment in der Schule ein Projekt am Start, wo ich und mein Kollege eine Website in HTML und PHP programmieren müssen. Ziel des Projektes ist es eine Website zu erstellen, die einem den Body-Mass-Index ausrechnet. Anhand der Formel Gewicht / Körpergröße² muss dem jeweiligen Benutzer der Seite angezeigt werden ob er Untergewicht, Normalgewicht, Leichtes Übergewicht, starkes Übergewicht oder Extremes Übergewicht hat.

Anhand dieser Daten muss es dem User also angezeigt werden:

0 bis 18,5 = Untergewicht
18,5 bis 25,0 = Normalgewicht
25,0 bis 30,0 = Leichtes Übergewicht
30,0 bis 40,0 = Starkes Übergewicht
über 40 = Extremes Übergewicht

Wir müssen also mit PHP die Formel berechnen und anhand des Ergebnisses dem User anzeigen, welche Gewichtsklasse er hat.

Nun haben wir folgendes Problem:

Wir sind beide absolute Laien und deswegen bitten wir um eine Fehleranalyse des Quelltextes. Wir sind uns bewusst, das es so nicht funktionieren kann aber wir wissen einfach nicht weiter. Die Datei ist hier im Post angehängt.

Danke schonmal im Vorraus ;)
 

Anhänge

  • bmi.txt
    1 KB · Aufrufe: 171
Muss es nicht statt
<center><form mehod="post"

<center><form method="post"

heissen ?


Schreibfehler: $starkes Übergewichtt
 
Ok, ich muss zugeben, Schreibfehler sind vorhanden. Aber viel schlimmer ist das eine Grosszahl an Befehlen fehlt, weil es ist ja garnicht defeniert ist wann dem User angezeigt werden soll, wann er z.B Normalgewicht hat.
 
Und nun erwartest du das wir dir eine Lösung Präsentieren? Der Thread ist warscheinlich eh gleich zu wegen Hausaufgaben.

Es wurde schon gesagt wo Fehler sind. Denkarbeit wird dir hier wohl keiner abnehmen

kurze Ergänzung zu Bergfruehlings Beitrag:

Variablennamen in php dürfen keine leerzeichen enthalten. Bei öäü bin ich mir net ganz sicher obs php schluckt, aber ich würde sie auch weglassen.
 
Hui, wie du ja schon zugegeben hast strotzt das ding nur so vor fehlern. Aber schau dir einfach mal die variablen zuweisungen an. Du schreibst in 5 variablen den selben wert und machst dann damit nichts. Tipp:

Rechne einmal das ergebniss aus, und schau dir dann mal switch/case bzw notfalls auch elseif an.

http://php.net/manual/en/control-structures.switch.php
 
Ich will ja keine Komplettlösung, lediglich einen kurzen Hinweis darauf welche befehle noch fehlen und ob es bisher alles seine Richtigkeit hat.

edit: Ja, das ist eigentlich der Knackpunkt, ich habe geschrieben was er rechnen soll, weiss allerdings nicht was danach folgt, also wie ich es anzeigen lassen kann, das er z.B bei einem BMI von 28 dem User "Leichtes Übergewicht" ausgibt.

Werde mir mal deinen Link anschauen, vllt hilft es ja ;)
 
Zuletzt bearbeitet:
1) Es dürfen keine Leerzeichen in den Variablennamen enthalten sein

2) solltest du definieren, wie der Benutzer seine Größe angeben soll. Am einfachsten lässt du den Benutzer seine Größe in Zentimeter angeben und rechnest in der Funktion auf Meter um.

3) sollte der BMI zuerst berechnet werden und dann anhand einer Switch/Case-Anweisung oder if/else-Verkettung den entsprechenden Ausgabestrings (Untergewicht, Normalgewicht, etc.) zugewiesen werden.

4) Kannst du den Aufruf der PHP-Funktion auf die selbe Seite legen (SELF Action)

5) baue Abfragen ein, ob die entsprechenden Werte überhaupt gesetzt wurden. (isset Funktion)
 
  1. dito
  2. dito
  3. Geht es mit einem leicht erweiterbaren Array und einer passenden Schleife (foreach) effektiver.
  4. PHP_SELF ist leicht für XSS ausnutzbar, entsprechend sollte sich niemand die Verwendung aneignen, besser SCRIPT_NAME.
  5. dito
  6. Vertraue niemals den Eingaben eines Benutzers, auch diese solltest du validieren.
 
Hallo,
1-6 wurden bereits erwähnt, wobei du, wenn es sich um ein Schulprojekt handelt, die Sicherheit vernachlässigen kannst. (Später solltest du sie natürlich schon in Betracht ziehen!)

Ich würde dir soetwas in der Art vorschlagen:

Du berechnest erst den BMI. (Hast ja schon gemacht)
Dann entscheidest du, in welche Kategorie der BMI fällt.(if($bmi < grenze) { ausgabe; } Der Link hilft dir auch)
Dann gibst du deine Kategorie + BMI aus. (echo $kategorie; )

Grüße

edit: 1min google und du hast ne funktionierende Komplettlösung..
 
Zuletzt bearbeitet:

Ähnliche Themen

Zurück
Oben