Buenas tardes a todos apreciaría su ayuda con mi situación que es la siguiente: la página es para resolver quebrados u operaciones con fracciones (hecho), la página esta dividida básicamente en dos secciones; una donde se presentan ejemplos de operaciones pulsando un boton que representa la operacion, la segunda parte es donde se propone un ejercicio y se envia los resultados en un formulario para evaluarlos.
En la segunda parte es donde tengo un problema, primero se muestra la página vacía, seleccionando la operación se presenta el ejercicio propuesto, dos campos para el numerador y denominador, ademas un botón para verificar. El problema radica que mi página hace exactamente lo que menciono, pero al pulsar el botón de ejecutar no hace nada. Estuve probando con la instrucción
Código PHP:
if (isset($_POST["comprobar"])){
echo "holaaaa";
}
(comprobar es el nombre y valor de mi botón), pero no imprime el "hola" en donde pensé que se ejecutaria. Ya no sé por donde buscar.
La lógica de mi código php es esta: según el div en html desde el que se selecciona la operación, verifico que se haya pulsado el botón, de ahi realizo la operación con números aleatorios, la reduzco e imprimo según el div de procedencia.
mi codigo html es este:
Código HTML:
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Quebrados</title>
<link href="quebrados.css" rel="stylesheet" type="text/css" />
</head>
<body id="general">
<div id='titulo'>Quebrados</div>
<div id='principal'>
<div id='encabezado'>
La introducción ira aquí.
</div>
<div id='ejemplo'>
<div id='ejercicioSuperior'>
<form action="quebrados.php" method="post">
<input type="submit" name="operacion" value ="+">
<input type="submit" name="operacion" value ="-">
<input type="submit" name="operacion" value ="*">
<input type="submit" name="operacion" value ="/">
</form>
<?php
include ("procesamiento.php");
$operacion = 'operacion';
operacion($operacion);
?>
</div>
<div id='ejercicioInferior'>
La descripcion del ejemplo aqui
</div>
</div>
<div id='ejercicio'>
<div id='ejercicioSuperior'>
<form action="quebrados.php" method="post">
<input type="submit" name="ejercicio" value ="+">
<input type="submit" name="ejercicio" value ="-">
<input type="submit" name="ejercicio" value ="*">
<input type="submit" name="ejercicio" value ="/">
</form>
<?php
$operacion = 'ejercicio';
operacion($operacion);
?>
</div>
<div id='ejercicioInferior'>
La descripcion del ejericio aqui
</div>
</div>
<div id='pie'>
La conclusión ira aquí
</div>
</div>
</body>
</html>
y en php
Código PHP:
<?php
function operacion ($operacion) {
$numerador1 = rand(1, 9);
$numerador2 = rand(1, 9);
$denominador1 = rand(1, 9);
$denominador2 = rand(1, 9);
$valor='';
$numerador = '';
$denominador = '';
if(isset($_POST[$operacion])){
$valor = $_POST[$operacion];
$igual='=';
switch ($valor) {
case ('+'):
if($denominador1==$denominador2){
$denominadorFinal = $denominador2;
$numeradorFinal = $numerador1 + $numerador2;
}else{
$denominadorFinal = $denominador1 * $denominador2;
$numeradorTotal1 = $numerador1* $denominador2;
$numeradorTotal2 = $numerador2* $denominador1;
$numeradorFinal = $numeradorTotal1 + $numeradorTotal2;
}
break;
case ('-'):
while(($numerador1/$denominador1)<($numerador2/$denominador2)){
$numerador1 = rand(1, 9);
$numerador2 = rand(1, 9);
$denominador1 = rand(1, 9);
$denominador2 = rand(1, 9);
}
if($denominador1==$denominador2){
$denominadorFinal = $denominador2;
$numeradorFinal = $numerador1 - $numerador2;
}else{
$denominadorFinal = $denominador1 * $denominador2;
$numeradorTotal1 = $numerador1* $denominador2;
$numeradorTotal2 = $numerador2* $denominador1;
$numeradorFinal = $numeradorTotal1 - $numeradorTotal2;
}
break;
case ('*'):
$denominadorFinal = $denominador1 * $denominador2;
$numeradorFinal = $numerador1 * $numerador2;
break;
case ('/'):
$denominadorFinal = $denominador1 * $numerador2;
$numeradorFinal = $numerador1 * $denominador2;
break;
}
extract(reduccion($numeradorFinal, $denominadorFinal));
$numerador = $numeradorReduccion;
$denominador = $denominadorReduccion;
if($denominador1==1){
$denominador1 = '';
}
if ($denominador2 ==1){
$denominador2 = '';
}
echo $operacion. " es la operacion <br />";
if($operacion == 'operacion'){
echo "<table id='tabla1'>";
echo "<tr>";
echo "<td>".$numerador1."</td>";
echo "<td>".$valor."</td>";
echo "<td>".$numerador2."</td>";
echo "<td>".$igual."</td>";
echo "<td>".$numerador."</td>";
echo "</tr>";
echo "<tr>";
echo "<td>".$denominador1."</td>";
echo "<td></td>";
echo "<td>".$denominador2."</td>";
echo "<td></td>";
echo "<td>".$denominador."</td>";
echo "</tr>";
echo "</table>";
}elseif($operacion == 'ejercicio'){
echo "<form action='quebrados.php' action='post' target='_self' >";
echo "<table id='tabla1'>";
echo "<tr>";
echo "<td>".$numerador1."</td>";
echo "<td>".$valor."</td>";
echo "<td>".$numerador2."</td>";
echo "<td>".$igual."</td>";
echo "<td><input type='text' name='numeradorI' size='2' maxlength='2' /></td>";
echo "</tr>";
echo "<tr>";
echo "<td>".$denominador1."</td>";
echo "<td></td>";
echo "<td>".$denominador2."</td>";
echo "<td></td>";
echo "<td><input type='text' name='denominadorI' size='2' maxlength='2' /></td>";
echo "<td><input type='submit' name='comprobar' value='comprobar' /></td>";
echo "</tr>";
echo "</table>";
echo "</form>";
}
}else{
$numerador1 = '';
$numerador2 = '';
$denominador1 = '';
$denominador2 = '';
$igual='';
}
}
function reduccion($numeradorReduccion, $denominadorReduccion) {
$noDivisible2 = true;
$noDivisible3 = true;
$noDivisible5 = true;
$noDivisible7 = true;
$noDivisible11 = true;
while($noDivisible2){
if($numeradorReduccion%2==0 && $denominadorReduccion%2==0){
$numeradorReduccion /=2;
$denominadorReduccion /=2;
}else{
$noDivisible2 = false;
}
}
while($noDivisible3){
if($numeradorReduccion%3==0 && $denominadorReduccion%3==0){
$numeradorReduccion /=3;
$denominadorReduccion /=3;
}else{
$noDivisible3 = false;
}
}
while($noDivisible5){
if($numeradorReduccion%5==0 && $denominadorReduccion%5==0){
$numeradorReduccion /=5;
$denominadorReduccion /=5;
}else{
$noDivisible5 = false;
}
}
while($noDivisible7){
if($numeradorReduccion%7==0 && $denominadorReduccion%7==0){
$numeradorReduccion /=7;
$denominadorReduccion /=7;
}else{
$noDivisible7 = false;
}
}
while($noDivisible11){
if($numeradorReduccion%11==0 && $denominadorReduccion%11==0){
$numeradorReduccion /=11;
$denominadorReduccion /=11;
}else{
$noDivisible11 = false;
}
}
if($denominadorReduccion==1){
$denominadorReduccion='';
}
return compact('numeradorReduccion', 'denominadorReduccion');
}
?>
Probablemente mi código no este muy optmizado pero estoy empezando. gracias por su tiempo.