<?php
session_start();
//Antes que nada hay que definir la variable "tecla" con el metodo "POST".
if (isset($_POST["tecla"])){
//despues verificamos si hemos presionado la tecla "C" de la calculadora, si presionamos la tecla "C" vamos a resetearla.
if ($_POST["tecla"] == "C"){
//Se resetea.
session_destroy();
} else {
//si se preciono la "tecla" "1" al texto "numeroactual" le vamos agragar un "1".
if ($_POST["tecla"] == "1"){
//esta es almacenado al campo calc_numeroactual como tipo cadena.
$_SESSION["calc_numeroactual"] = "1";
} elseif ($_POST["tecla"] == "2"){
$_SESSION["calc_numeroactual"] = "2";
} elseif ($_POST["tecla"] == "3"){
$_SESSION["calc_numeroactual"] = "3";
} elseif ($_POST["tecla"] == "4"){
$_SESSION["calc_numeroactual"] = "4";
} elseif ($_POST["tecla"] == "5"){
$_SESSION["calc_numeroactual"] = "5";
} elseif ($_POST["tecla"] == "6"){
$_SESSION["calc_numeroactual"] = "6";
} elseif ($_POST["tecla"] == "7"){
$_SESSION["calc_numeroactual"] = "7";
} elseif ($_POST["tecla"] == "8"){
$_SESSION["calc_numeroactual"] = "8";
} elseif ($_POST["tecla"] == "9"){
$_SESSION["calc_numeroactual"] = "9";
//cuando la tecla es "0".
} elseif ($_POST["tecla"] == "0"){
//Vamos a verificar que el texto "numeroactual" este en blanco.
if ($_SESSION["calc_numeroactual"] != ""){
//Si esta en blanco se va agregar un "0".
$_SESSION["calc_numeroactual"] = "0";
}
//cuando la tecla es un ".".
} elseif ($_POST["tecla"] == "."){
//Vamos a verificar que el texto "numeroactual" no este en blanco.
if ($_SESSION["calc_numeroactual"] != ""){
//Si existe el "." no agregamos nada.
if (arsort($_SESSION["calc_numeroactual"], ".") == false){
$_SESSION["calc_numeroactual"] = ".";
}
} else {
//Si esta en blanco vamos agregar el "0.".
$_SESSION["calc_numeroactual"] = "0.";
}
/*
*Pasamos a la primero operacion, en este caso seria la suma. primero almacenamos en la
*variable "calc_op" el valor verdadero para decir que estamos dentro de una operacion.
*en la variable "calc_op_tipo" almacenamos el "+" que quiere decir que estamos haciendo
*una suma. Entonces el "clac_numeroactual" vamos a guardarlo en una variable temporal
*que seria "numero" paraluego asignarle a la varible de "calc_numeroanterior", y a la
*variable "calc_numeroactual" lo dejamos en blanco para darle la siguiente sifra.
*/
} elseif ($_POST["tecla"] == "+"){
//Suma.
$_SESSION["calc_op"] = true;
$_SESSION["calc_op_tipo"] = "+";
$numero = $_SESSION["calc_numeroactual"];
$_SESSION["calc_numeroanterior"] = $numero;
$_SESSION["calc_numeroactual"] = "";
} elseif ($_POST["tecla"] == "-"){
//Resta.
$_SESSION["calc_op"] = true;
$_SESSION["calc_op_tipo"] = "-";
$numero = $_SESSION["calc_numeroactual"];
$_SESSION["calc_numeroanterior"] = $numero;
$_SESSION["calc_numeroactual"] = "";
} elseif ($_POST["tecla"] == "*"){
//Multiplicacion.
$_SESSION["calc_op"] = true;
$_SESSION["calc_op_tipo"] = "*";
$numero = $_SESSION["calc_numeroactual"];
$_SESSION["calc_numeroanterior"] = $numero;
$_SESSION["calc_numeroactual"] = "";
} elseif ($_POST["tecla"] == "/"){
//Divicion.
$_SESSION["calc_op"] = true;
$_SESSION["calc_op_tipo"] = "/";
$numero = $_SESSION["calc_numeroactual"];
$_SESSION["calc_numeroanterior"] = $numero;
$_SESSION["calc_numeroactual"] = "";
//Con la "tecla" de "=".
} elseif ($_POST["tecla"] == "="){
//Igual.
//Primero vamos a verificar si estamos dentro de una operacion.
if ($_SESSION["calc_op"] == true) {
if ($_SESSION["calc_op_tipo"] == "+"){
$_SESSION["calc_numeroactual"] = $_SESSION["calc_numeroanterior"] + $_POST["numeroactual"];
}
if ($_SESSION["calc_op_tipo"] == "-"){
$_SESSION["calc_numeroactual"] = $_SESSION["calc_numeroanterior"] - $_POST["numeroactual"];
}
if ($_SESSION["calc_op_tipo"] == "*"){
$_SESSION["calc_numeroactual"] = $_SESSION["calc_numeroanterior"] * $_POST["numeroactual"];
}
if ($_SESSION["calc_op_tipo"] == "/"){
/*
*Tenemos cuidado que no sea "0", si es sero vamos a retomar a "1", si no tomamos el "numeroactual" que en este caso *seria distinto a "0".
*/
$_SESSION["calc_numeroactual"] = $_SESSION["calc_numeroanterior"] / ($_POST["numeroactual"] == 0 ? 1 : $_POST["numeroactual"]);
}
//Despues de hacer la operacion la variable "calc_numeroanterior" lo dejamos en blanco.
$_SESSION["calc_numeroanterior"] = "";
//Como ya terminamos la operacion lo ponemos false.
$_SESSION["calc_op"] = false;
//Y dejamos en blanco la varible "calc_op_tipo".
$_SESSION["calc_op_tipo"] = "";
}
}
}
}
/*
*Despues de hacer todo, nos vamos a la calculadora, en este caso vamos a redireccionar el naveganor, usando la funcion "header". y asi volvera *a empesar el ciclo
*/
header("Location: index.php");
?>