Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

Weiße PHP-Seite?

Hey Leute,

ich soll für die Schule was in HTML/PHP programmieren.

index.html

<html>
<head>

<title> BMI-Rechner <title>

<body>

<body bgcolor="grey">

<h1><center>BMI-Rechner</center></h1></p>

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

<br>
<br>

Bitte geben Sie ihren Namen an: <input type="text" name="Name" value="name"/>

<br>
<br>

Bitte geben Sie ihr Geschlecht an:

<br>
<br>

Maennlich: <input type="checkbox" name="männlich" value="männlich" checked/>

<br>

Weiblich: <input type="checkbox" name="weiblich" value="weiblich"/>

<br>
<br>

Gewicht:

<input type="text" name="gewicht" value="gewicht"/></br>

<br>

Groesse:
<input type="text" name="groesse" value="groesse"/></br>

<br>
<br>

Ich moechte einen Prospekt: <input type="checkbox" name="prospektJa" value="prospektJa" checked/>

<br>

Ich moechte keinen Prospekt <input type="checkbox" name="prospektnein" value="prospektnein"/>

<br>
<br>

<input type="submit"/>

</form>

</body>
</html>

bmi.php

<html>
<head>
<body bgcolor="grey"/>

<?php

echo "Sehr geehrter Herr $name,";


if (&maennlich)
{

$bmi = $gewicht / ($groesse*$groesse);

if ($bmi < 20)
{
echo "Sie haben Untergewicht!!!";
}
elseif (&bmi >=20 && $bmi <=25)
{
echo "Sie haben Normalgewicht!!!";
}
else
{
echo "Sie haben Übergewicht!!!";
<img src="http://www.aspectimages.net/files/products/0912140005_v.jpg"></img>
}
}

else
{
if ($bmi < 19)
{
echo "Sie haben Untergewicht!!!";
}
elseif (&bmi >=20 && $bmi <=24)
{
echo "Sie haben Normalgewicht!!!";
}
else
{
echo "Sie haben Übergewicht!!!";
<img src="http://www.aspectimages.net/files/products/0912140005_v.jpg"></img>
}
}

echo "Ihr BMI beträgt $bmi!";

if(prospektja)
{
echo "Wir werden ihnen einen Prospekt zukommen lassen!";
}
else
{
echo "Wir werden ihnen keinen Prospekt zukommen lassen!";
}

?>

Kann mir jmd sagen wo der Fehler ist? :S


Antworten zu Weiße PHP-Seite?:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

erster schuss ins blaue => du machst <head>nie zu ( mit </head>)

simpler html aufbau ist

<html>
<head>
</head>
<body>
</body>
</html>

das </head> fehlt bei dir komplett. könnte schon reichen
und anderer fehler beim überfliegen war, du benutzt variablen ohne die auf ihre existenz zu überprüfen. das ist zwar jetzt kein epic fail aber gewöhn dir so was erst gar nicht an.

edit, ah, krass. doch epic fail^^ du kannst nicht die variablen einfach aus dem formular ungeprüft übernehmen.
1. werden die in demfall mit $_POST['feldname'] abgefangen.
2. der epic fail ist, dass du auf register globals on spekulierst. fällt unter sicherheitsrisiko. war mir nicht bewusst dass es überhaupt noch server gibt die das nicht deaktiviert haben o.Oalso das musst definitiv ändern. gibt evlt. sonderpunkte beim lehrer^^
(dafür dass er euch so was nicht erzählt gehört er allerdings so nen ticken *grrrrrrr)
edit2: die 2te schleife macht keinen sinn. da du derendinger schon (bis auf die geänderte bmi zahl (25? warum? denke 24?) in der ersten schleife abhandelst.

wenn du das jetzt lernst, gewöhn dir einrücken an (später lernst das nicht mehr, ist ne disziplin frage)
und ich finde (subjektive meinung)

echo "Ihr BMI beträgt $bmi!"; sieht <?php echo "Ihr BMI beträgt ".$bmI;  ?> schöner aus.
« Letzte Änderung: 20.02.11, 17:10:25 von strough »

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Danke schonmal, das mit head zumachen hab ich völlig vergessen :S

Leider klappts immernoch nicht..

1 männlich ist nicht gleich maennlich -> name im Formular
2 mußt Du die Übergebenen Daten aus dem Array holen.
  -> was soll an dieser Stelle & ? gürfte Dir nen Parserfehler geben.
3 ist "klappt immer noch nicht" keine Fehlerbeschreibung mit der man was anfangen kann

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
Zitat von: strough

1. werden die in demfall mit $_POST['feldname'] abgefangen.

Wie mache ich das? 
« Letzte Änderung: 20.02.11, 17:46:24 von Lionmaster1 »

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

der feldname ist identisch mit dem "name" der (in deinem fall) radiobuttons. wenn jetzt ner z.b. textarea den namen "bemerkung" gibst kriegst dann den inhalt mit echo $_POST[&#39;bemerkung&#39;]; raus.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hi,

1. Wenn Du Code postest, mach das bitte so:

[code]
hier den Code rein
[/code]

das sieht schöner aus.

2. Du bekommst eine weiße Seite, weil der PHP-Script Fehler erhält. Du musst Fehlermeldungen im Browser ausgeben lassen, damit Du siehst, was falsch ist. Dabei wird Dir auch gleich die Zeilennummer angezeigt.

<?php
error_reporting
(E_ALL);
?>


3. Du hast eine echo-Anweisung beendet und danach HTML stehen

echo "Sie haben Übergewicht!!!";
<img src=" http://www.aspectimages.net/files/products/0912140005_v.jpg"></img>

das geht natürlich nicht.

« Suche Programmierer!Dieses Skript verursacht eine Browserverzögerung »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Quellcode
Ein Quellcode, auch als Quelltext bekannt, bezeichnet den unkompilierten Programm-Code einer Software. Quell- oder Programm-Code ist der auch für Menschen lesbare Co...

Unicode
Unicode ist ein international anerkannter Standard, der als universeller Zeichencode ("Universal Code") dient und durch das Unicode-Konsortium entwickelt und verwaltet wi...

QR-Code
QR-Codes, die Abkürzung für "Quick Response Codes", sind eine Form von zweidimensionalen Barcodes. Damit lassen sich Informationen schnell und effizient speiche...