Argh.. und wie sie das tun. Und das kann fatal werden.
Undefined index weist darauf hin, dass der index einer Variable ( $_VAR['index'] ) nicht definiert ist, zumindest nicht in dem Scope/Context.
Und das stimmt, du deklarierst Variablen direkt mit dem Inhalt einer POST Request. Bevor du diese POST Abfrage aber nicht tätigst, existiert ja kein Inhalt für $_POST, sondern erst, nachdem du die POST Abfrage bzw. die Form abgesendet hast.
Für solche Fälle ist der ?? Operator (Null Coalesce Operator) gut geeignet, welche mit PHP 7 eingeführt wurde.
Dementsprechend würdest du die ersten drei Zeilen so umschreiben:
$kontostand = $_POST['kontostand'] ?? 0;
$produkt = $_POST['produkt'] ?? 0;
$fehlgeld = $produkt - $kontostand;
$kontostand und $produkt sind, falls der Index nicht gefunden wurde, einfach 0.