Hyvin yksinkertainen PHP laskin.
Neljän laskutavan laskin.
<?php $molemmatluvut = array($luku1, $luku2); $kaikkilaskutavat = array($plus, $minus, $kerto, $jako); $minusjaplus = array($minus, $plus); $page = $PHP_SELF; echo "<title>PHP - Laskin</title>"; echo "<table align=\"center\" style=\"border-color:black;border-width:1px;border-style:double;\">"; echo "<form action=\"$page?laske=kasittely\" method=\"post\">"; echo "<input type=\"hidden\" name=\"lomake\">"; echo "<tr><td><font color=\"red\"><code><b>*</b></code></font><code><i>Luku 1:</b></code></i> <input type=\"text\" name=\"luku1\" maxlength=\"7\" size=\"6 \"></tr></td>"; echo "<tr><td><font color=\"red\"><code><b>*</b></code></font><code><i>Luku 2:</b></code></i> <input type=\"text\" name=\"luku2\" maxlength=\"7\" size=\"6\"></tr></td>"; echo "<tr><td><code> Kaikki <font color=\"black\"><b>*</b></font>:llä kohdat täytetyt ovat pakollisia kohtia</code></td></tr>"; echo "<tr><td><b>+</b><input type=\"radio\" value=\"plus\" name=\"plus\" /><code><font size=\"3\">*</font></code><input type=\"radio\" value=\"kerto\" name=\"kerto\"></td></tr>"; echo "<tr><td><code><b>-</b></code><input type=\"radio\" value=\"minus\" name=\"minus\" /><code><font size=\"3\"><code>/</code></font></code><input type=\"radio\" value=\"jako\" name=\"jako\"></td></tr></td>"; echo "<tr><td><input type=\"submit\" value=\"Laske!\"></tr></td>"; echo "</table>"; echo "</form>"; if($_GET['laske'] == "kasittely") { //Seuraavat laskutavat +, -, * ja / $tulos1 = $luku1 + $luku2; $tulos2 = $luku1 - $luku2; $tulos3 = $luku1 / $luku2; $tulos4 = $luku1 * $luku2; //Ehtolaisekkeita if(empty($lomake)) {echo "<font face=\"green\"><kbd><i><b>Virheet:</b></i></kbd></font><br>";} if(empty($luku1)) {echo "<code>Luku 1:n <b>laatikko</b> on täytettvä, jotta voisit jatkaa.</code><br>"; exit();} if(empty($luku2)) {echo "<code>Luku 2:n <b>laatikko</b> on täytettvä, jotta voisit jatkaa.</code><br>"; exit();} if(empty($kaikkilaskutavat)) {echo "<code>Edes yksi <b>laskutapa</b> on valittava !</code><br>";} if(isset($kaikkilaskutavat)) { if($plus == "plus") {echo "<code>Pluslaskun tulos:</code> <code><b>$tulos1</b></code><br>";} if($minus == "minus") {echo "<code>Miinuslaskun tulos:</code> <code><b>$tulos2</b></code><br>";} if($kerto == "kerto") {echo "<code>Jakolaskun tulos:</code> <code><b>$tulos4</b></code><br>";} if($jako == "jako") {echo "<code>Kertolaskun tulos:</code> <code><b>$tulos3</b></code>";} } } ?>
niin tämäkin
Konstan koodissa on mielestäni paljon sellaisia ajatusvirheitä, joihin kannattaisi panostaa. Eli laskut yritetään laskea jo ennen kuin numeroita ja laskutapoja tarkistetaan. Todellisuudessa ohjelmoinnissa nuo pitäisi tehdä loogisesti, tarkistaa ensin onko kaikki tarvittavat tiedot saatu, ja tämän jälkeen "tehdä niille/niillä jotain".
Jos tuossa olisi vaikka tietokantaan lisäämistä, voisi tuossakin tapauksessa lisäillä ensiksi puutteellisia rivejä kantaan, ja lisäyksen jälkeen vasta älähdettäisiin puutteellisista tiedoista. Käyttäjä saattaisi lisätä "samoja rivejä" vahingossa.
Yritän ottaa nuo "ajatusvirheet" ensi kerralla huomioon. Kiitos huomautuksesta.
Aihe on jo aika vanha, joten et voi enää vastata siihen.