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>
(1 votes)
Loading...

Similar Posts

Subscribe
Notify of
6 Answers
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
elmex7
1 year ago

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)…

ntechde
1 year ago

It’s a runtime error.

Check if only numerical values are in the variables in the calculations.

HoiZusammen
1 year ago

Your error should be triggered by this variable:

$groesse_preis

by the later calculations.

$zahlung=$groesse_preis*$pizzaanzahl;

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.

function konvertiereZuFloatZahl($wert) {
// Ersetzen von Kommas durch Punkte, falls ein Komma vorhanden ist
    if (strpos($wert, ',') !== false) {
        $wert = str_replace(',', '.', $wert);
    }

    // Überprüfen, ob der Wert keine gültige Fließkommazahl ist
    if (!is_numeric($wert)) {
        // Wenn der Wert nicht numerisch ist, wird standardmäßig 0.00 zurückgegeben
        return 0.00;
    }

    return floatval($wert);
}


$pizzaanzahl= (int) $_POST['pizzaanzahl'];
$groesse_preis = konvertiereZuFloatZahl($groesse_preis); 

// Berechnung 
$ergebnis = $pizzaanzahl * $groesse_preis;



Grob should go this way…

guteantwort626
1 year ago

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…

PeterP58
1 year ago

“Formaggi” vs. “Formagg”

See: > $pizzatypes [3] => “Quattro Formagg selected_pizzen = array( … there is also a “