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";
}
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>
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');
}
?>