Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/07/2011, 05:14
Avatar de repara2
repara2
 
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Aporte | Caso de estudio: Calculadora con una sóla instrucción eval()

Esta es una calculadora que realiza las operaciones en una sóla instrucción eval().
Demás está decir que es la implementación más básica que puede existir.
Este script es sólo una curiosidad, la solución más elemental, una respuesta a un problema que ha planteado un aprendiz pero que tal vez a alguien le sirva como ejemplo. Salu2:

Código PHP:
Ver original
  1. <?php
  2. /**
  3.  * Calculadora con una sóla función PHP
  4.  * @author repara2
  5.  * A través de post se envía el valor del campo display que se evalúa como código php
  6.  */
  7. //Si han presionado el botón =
  8. if(isset($_GET['calculate'])){
  9.     //Simplemente ejecutar la acción
  10.     eval('$result = '.$_POST['display'].';');
  11. }
  12. //La función ja para cada botón
  13. $js = "document.getElementById('display').value += this.value; return false;";
  14.  
  15. ?>
  16. <!-- El formulario HTML -->
  17. <form id="calc" name="calc" method="post"
  18.     action="<?$_SERVER['PHP_SELF']?>?calculate">
  19.     <table border="0" align="center" cellpadding="0" cellspacing="0"
  20.         bgcolor="Orange" style="text-align: right">
  21.         <tr bgcolor="Red">
  22.             <td colspan="4"><label> <input name="display" id="display"
  23.                     type="text" size="18" value="<?=(isset($result)?$result:"")?>" /> </label>
  24.             </td>
  25.         </tr>
  26.         <tr>
  27.             <td align="center"><input onclick="<?=$js?>" name="1" type="submit"
  28.                 id="1" value="1" /></td>
  29.             <td align="center"><input onclick="<?=$js?>" name="2" type="submit"
  30.                 id="2" value="2" /></td>
  31.             <td align="center"><input onclick="<?=$js?>" name="3" type="submit"
  32.                 id="3" value="3" /></td>
  33.             <td align="center" bgcolor="Red"><input onclick="<?=$js?>" name="+"
  34.                 type="submit" id="+" value="+" /></td>
  35.         </tr>
  36.         <tr>
  37.             <td align="center"><input onclick="<?=$js?>" name="4" type="submit"
  38.                 id="4" value="4" /></td>
  39.             <td align="center"><input onclick="<?=$js?>" name="5" type="submit"
  40.                 id="5" value="5" /></td>
  41.             <td align="center"><input onclick="<?=$js?>" name="6" type="submit"
  42.                 id="6" value="6" /></td>
  43.             <td align="center" bgcolor="Red"><input onclick="<?=$js?>" name="-"
  44.                 type="submit" id="-" value="-" /></td>
  45.         </tr>
  46.         <tr>
  47.             <td align="center"><input onclick="<?=$js?>" name="7" type="submit"
  48.                 id="7" value="7" /></td>
  49.             <td align="center"><input onclick="<?=$js?>" name="8" type="submit"
  50.                 id="8" value="8" /></td>
  51.             <td align="center"><input onclick="<?=$js?>" name="9" type="submit"
  52.                 id="9" value="9" /></td>
  53.             <td align="center" bgcolor="Red"><input onclick="<?=$js?>" name="/"
  54.                 type="submit" id="/" value="/" /></td>
  55.         </tr>
  56.         <tr>
  57.             <td align="center" bgcolor="Red"><input name="=" type="submit" id="="
  58.                 value="=" /></td>
  59.             <td align="center"><input onclick="<?=$js?>" name="0" type="submit"
  60.                 id="0" value="0" /></td>
  61.             <td align="center" bgcolor="Red"><input
  62.                 onClick="document.getElementById('display').value = ''; return false;"
  63.                 ; name="=" type="submit" id="C" value="C" /></td>
  64.             <td align="center" bgcolor="Red"><input name="*" type="submit" id="*"
  65.                 value="*" /></td>
  66.         </tr>
  67.     </table>
  68. </form>
__________________
Fere libenter homines, id quod volunt, credunt.