How do I get rid of the error/mistake message when I try to open my PHP page?
I always get this error message:
Here is the PHP code:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <link href="style.css" type="text/css" rel="stylesheet" /> </head> <body> <?php $vorname=$_POST['vorname']; $nachname=$_POST['nachname']; $strasse_und_hausnummer=$_POST['strasse_und_hausnummer']; $plz=$_POST['plz']; $ort=$_POST['ort']; $telefonnummer=$_POST['telefonnummer']; $e_mail_adresse=$_POST['e_mail_adresse']; $pizzasorten=$_POST['pizzasorten']; $pizzaanzahl=$_POST['pizzaanzahl']; $groesse_preis=$_POST['groesse_preis']; $getraenk=$_POST['getraenk']; $dip=$_POST['dip']; $lieferoptionen=$_POST['lieferoptionen']; $stammkundenkarte=$_POST['stammkundenkarte']; $bemerkungen=$_POST['bemerkungen']; $rabatt1=0.05; $rabatt2=0.10; $lieferkosten=4.99; $zahlung=$groesse_preis*$pizzaanzahl; $zahlungsbetrag1=$zahlung-($zahlung*$rabatt1); $zahlungsbetrag2=$zahlung-($zahlung*$rabatt2); $zahlungsbetrag3=$zahlung-($zahlung*$rabatt2)+$lieferkosten; $zahlungsbetrag4=$zahlung-($zahlung*$rabatt1)+$lieferkosten; $gewaehlter_dip = array ( "Knoblauchsauce", "BBQ-Sauce", "Cocktailsauce", "Kein Dip"); $gewaehlte_pizzen = array( $pizzasorten [0] => "Margherita", $pizzasorten [1] => "Pepperoni", $pizzasorten [2] => "Funghi", $pizzasorten [3] => "Quattro Formaggi", $pizzasorten [4] => "Diavola", $pizzasorten [5] => "Veggie Delight", $pizzasorten [6] => "Eigenkreation" ); $gewaehlte_pizzen = explode(",", $pizzasorten); foreach ($gewaehlte_pizzen as $gewaehlte_pizza) { echo "<p>Sie haben die Pizzasorte " . $gewaehlte_pizza . " ausgewählt.</p>";} foreach ($gewaehlter_dip as $gewaehlter_dip){ if ($dip != "Kein Dip") { echo "<p>Sie haben die $dip ausgewählt.</p>"; break; } } if ($pizzaanzahl >= 3 AND $stammkundenkarte == "Nein") { echo "<p>Vielen Dank, $vorname $nachname, für Ihre Bestellung!<br /> Der Zahlungsbetrag beträgt: $zahlungsbetrag1 €(5% Rabatt wurde gewährt).<br /> Wir freuen uns darauf, Ihnen Ihre $pizzaanzahl Pizza/Pizzen und $getraenk zu liefern!</p>";} elseif ($pizzaanzahl >= 3 AND $stammkundenkarte == "Ja") { echo "<p>Vielen Dank, $vorname $nachname, für Ihre Bestellung!<br /> Der Zahlungsbetrag beträgt: $zahlungsbetrag2 € (10% Rabatt wurde gewährt).<br /> Wir freuen uns darauf, Ihnen Ihre $pizzaanzahl Pizza/Pizzen und $getraenk zu liefern!</p>";} elseif ($pizzaanzahl < 3 AND $stammkundenkarte == "Ja") { echo "<p>Vielen Dank, $vorname $nachname, für Ihre Bestellung!<br /> Der Zahlungsbetrag beträgt: $zahlungsbetrag3 € (10% Rabatt wurde gewährt inkl. der Lieferkosten).<br /> Wir freuen uns darauf, Ihnen Ihre $pizzaanzahl Pizza/Pizzen und $getraenk zu liefern!<br /> Wir schätzen Ihre Treue als Stammkunde!</p>";} else { echo "<p>Vielen Dank, $vorname $nachname, für Ihre Bestellung!<br /> Der Zahlungsbetrag beträgt: $zahlungsbetrag4 €(5% Rabatt wurde gewährt inkl. der Lieferkosten).<br /> Wir freuen uns darauf, Ihnen Ihre $pizzaanzahl Pizza/Pizzen und $getraenk zu liefern!</p>";} ?> </body> </html>
This is an old script that is not capable of php8+, so it comes and probably various other errors. Post variables are always of type string and if you want to calculate, you have to convert the since php 8 into numbers types (int/double)…
It’s a runtime error.
Check if only numerical values are in the variables in the calculations.
Your error should be triggered by this variable:
by the later calculations.
You try your calculations with a string instead of using a number.
Generally, there’s a lot to do in your code.
To solve this error, I would first convert the inputs into float values.
Maybe so.
Grob should go this way…
Why do you use at least 3 different accounts to ask questions about your PHP code??
See
These are all the questions about the same code, that can’t be a coincidence…
“Formaggi” vs. “Formagg”
See: > $pizzatypes [3] => “Quattro Formagg selected_pizzen = array( … there is also a “
That’s the mistake in line 27 and I don’t know how to solve it…