1. Pack deine case-Anweisung in einen if-Block, mit dem du überprüfst, ob $_POST['rechenmeth'] gesetzt wurde.
Du könntest auch einfach error_reporting auf "E_ALL & ~E_NOTICE" setzten, um Notices auszublenden (Die sind meistens uninteressant) Mehr...
2. Natürlich íst das erlaubt:
PHP-Code:
<b>Taschenrechner</b> <form action='main.php?site=formular' method='post'> <p>Zahl 1:<br><input name='zahl1' type='text' size='30' maxlength='30'></p> <p>Zahl 2:<br><input name='zahl2' type='text' size='30' maxlength='40'></p> <br><br> <select name='rechenmeth'> <option>addieren</option> <option>subtrahieren</option> <option>multiplizieren</option> <option>dividieren</option> </select> <input type='submit'> </form><?php if(isset( $_POST [ 'rechenmeth' ])) { << Diese Zeile ist neu $ergebnis = 0 ; switch( $_POST [ 'rechenmeth' ]) { case "addieren" : $ergebnis =( $_POST [ 'zahl1' ] + $_POST [ 'zahl2' ]); break; case "subtrahieren" : $ergebnis =( $_POST [ 'zahl1' ] - $_POST [ 'zahl2' ]); break; case "multiplizieren" : $ergebnis =( $_POST [ 'zahl1' ] * $_POST [ 'zahl2' ]); break; case "dividieren" : $ergebnis =( $_POST [ 'zahl1' ] / $_POST [ 'zahl2' ]); break; default: $ergebnis =( $_POST [ 'zahl1' ] + $_POST [ 'zahl2' ]); break; } echo "Ergebbis: " . $ergebnis ; } << Die Zeile ist auch neu ?>