wraca stary temat mojego kalkulatora na którego pomysł znalazłem ale teraz mam problemy. Otóż przy naciśnięciu znaku + lub - lub * / dzieli mi przez zero. Nie mam pojęcia dlaczego.
Zamieszczam kod.
<?php function licz($tmp) { switch ($tmp) { case '1' : $_SESSION['wynik'] = (($_SESSION['wynik'])*10)+1; break; case '2' : $_SESSION['wynik'] = (($_SESSION['wynik'])*10)+2; break; case '3' : $_SESSION['wynik'] = (($_SESSION['wynik'])*10)+3; break; case '4' : $_SESSION['wynik'] = (($_SESSION['wynik'])*10)+4; break; case '5' : $_SESSION['wynik'] = (($_SESSION['wynik'])*10)+5; break; case '6' : $_SESSION['wynik'] = (($_SESSION['wynik'])*10)+6; break; case '7' : $_SESSION['wynik'] = (($_SESSION['wynik'])*10)+7; break; case '8' : $_SESSION['wynik'] = (($_SESSION['wynik'])*10)+8; break; case '9' : $_SESSION['wynik'] = (($_SESSION['wynik'])*10)+9; break; case '0' : $_SESSION['wynik'] = (($_SESSION['wynik'])*10)+0; break; } return $tmp; } function liczy($tmp) { switch ($tmp) { case '1' : $_SESSION['liczba'] = (($_SESSION['liczba'])*10)+1; break; case '2' : $_SESSION['liczba'] = (($_SESSION['liczba'])*10)+2; break; case '3' : $_SESSION['liczba'] = (($_SESSION['liczba'])*10)+3; break; case '4' : $_SESSION['liczba'] = (($_SESSION['liczba'])*10)+4; break; case '5' : $_SESSION['liczba'] = (($_SESSION['liczba'])*10)+5; break; case '6' : $_SESSION['liczba'] = (($_SESSION['liczba'])*10)+6; break; case '7' : $_SESSION['liczba'] = (($_SESSION['liczba'])*10)+7; break; case '8' : $_SESSION['liczba'] = (($_SESSION['liczba'])*10)+8; break; case '9' : $_SESSION['liczba'] = (($_SESSION['liczba'])*10)+9; break; case '0' : $_SESSION['liczba'] = (($_SESSION['liczba'])*10)+0; break; } return $tmp; } { $_SESSION['wynik']='0'; } { $_SESSION['liczba']='1'; } /*if(!isset($_SESSION['tmp'])) { $_SESSION['tmp'] = '0'; }*/ { if($_POST['wynik']==0) { licz($_POST['send']); } else { liczy($_POST['send']); } } { switch($_POST['sign']) { case '+' : $_SESSION['wynik']=$_SESSION['wynik']+$_SESSION['liczba']; case '-' : $_SESSION['wynik']=$_SESSION['wynik']-$_SESSION['liczba']; case '*' : $_SESSION['wynik']=$_SESSION['wynik']*$_SESSION['liczba']; case '/' : $_SESSION['wynik']=$_SESSION['wynik']/$_SESSION['liczba']; //case '=' : $_SESSION['liczba']=0; case 'RESET' : $_SESSION['liczba']=0; $_SESSION['wynik']=0; } } ?> <html> <head> </head> <body> <?php ?> <form action="index.php" method="post"> <fieldset style="width: 150px;"> </fieldset> <fieldset style="width: 150px;"> <button type="submit" name="send" value="1">1</button> <button type="submit" name="send" value="2">2</button> <button type="submit" name="send" value="3">3</button> <button type="submit" name="sign" value="+">+</button><br/> <button type="submit" name="send" value="4">4</button> <button type="submit" name="send" value="5">5</button> <button type="submit" name="send" value="6">6</button> <button type="submit" name="sign" value="-">-</button><br/> <button type="submit" name="send" value="7">7</button> <button type="submit" name="send" value="8">8</button> <button type="submit" name="send" value="9">9</button> <button type="submit" name="sign" value="*">*</button><br/> <button type="submit" name="send" value="0">0</button> <button type="submit" name="sign" value="/">/</button> <button type="submit" name="send" value="=">=</button> <button type="submit" name="sign" value="RESET">AC</button> </fieldset> </form> </body> </html>