Hallo jujuvier,
$stuck=$_POST[stück];
$preis=$_POST[preis];
$fix=$_POST[fix];
$variable=$_POST[variable];
Nein!!
Array-Schlüssel sind Strings und gehören als Strings aufgeschrieben. PHP lässt das zwar aus historischen Gründen zu, es ist aber falsch. Wenn zufällig per define() einer der Begriffe stück, preis, fix oder variable mit einem Wert belegt wird, fliegt Dir dieser Code aus der Kurve. Und man sollte immer prüfen, ob die erwarteten Daten überhaupt da sind, sonst nervt PHP mit einer Notice.
$stück = empty($_POST['stück']) ? 0 : $_POST['stück'];
$preis = empty($_POST['preis']) ? 0 : $_POST['preis'];
$fix = empty($_POST['fix']) ? 0 : $_POST['fix'];
$variable = empty($_POST['variable']) ? 0 : $_POST['variable'];
Abgesehen davon brauchst Du dein Programm nicht zu vergipsen. $stück ist tatsächlich eine erlaubte Variable - egal ob dein PHP Code in einer klassischen Codepage oder in UTF-8 gespeichert ist.
Deine while-Scheife möchte vermutlich lieber eine for-Schleife sein:
$zähler = 1;
while ($zähler <= $stück) {
...
$zähler++;
}
for ($zähler = 1; $zähler <= $stück; $zähler++) {
...
}
Bzw mit der alternativen Syntax für Kontrollstrukturen, wenn Du dem Rat folgst, nicht alles per echo auszugeben:
for ($zähler = 1; $zähler <= $stück; $zähler++):
...
endfor;
Hoffentlich bist Du jetzt für die Klausur nicht endverwirrt. Wer schreibt überhaupt so kurz vor Weihnachten noch eine Klausur? Das ist ja Tierquälerei!
Rolf
sumpsi - posui - clusi