Foros del Web » Programando para Internet » PHP »

Problema con código

Estas en el tema de Problema con código en el foro de PHP en Foros del Web. Buenos días. Estoy realizando un miniproyecto y tengo un par de errores que no puedo solucionar, agradecería que podáis ayudarme u orientarme un poco. Explico ...
  #1 (permalink)  
Antiguo 16/11/2015, 03:26
 
Fecha de Ingreso: noviembre-2015
Ubicación: Valencia
Mensajes: 2
Antigüedad: 9 años
Puntos: 0
Problema con código

Buenos días.

Estoy realizando un miniproyecto y tengo un par de errores que no puedo solucionar, agradecería que podáis ayudarme u orientarme un poco.

Explico un poco el código:
En la página aparecen 5 dados y 4 secciones de "suma" y resta (lo que llamo operacion).

Paso información de una página a otra con el método GET, y los almaceno en un array.

Luego intento recorrer el array para que sume o reste según lo que el usuario indique.

El programa suma y resta bien.

El problema principal se encuentra en el PRIMER dado, este no admite null(cuando especifico que los valores si deben admitir null) de hecho los demás dados si lo admiten.

El otro problema es que este dado EL PRIMERO también, a veces falla y resta cuando tiene que sumar o directamente el resultado lo iguala a 0.

El problema se que se encuentra en este if($i==1))(o eso creo) pero no se como arreglarlo

¿Alguna sugerencia?

Muchas gracias.

<?php

if(isset($_GET["oculto1"])){
$operacion=$_GET["operacion"];
$operacion2=$_GET["operacion2"];
$operacion3=$_GET["operacion3"];
$operacion4=$_GET["operacion4"];
$oculto1=$_GET["dado1"];
$oculto2=$_GET["dado2"];
$oculto3=$_GET["dado3"];
$oculto4=$_GET["dado4"];
$oculto5=$_GET["dado5"];
$valor_1=$_GET["oculto1"];
$valor_2=$_GET["oculto2"];
$valor_3=$_GET["oculto3"];
$valor_4=$_GET["oculto4"];
$valor_5=$_GET["oculto5"];
$dodecaedro=$_GET["dodecaedro"];

}

$Juego=array(
"valor"=>array(
1 => $valor_1,
2 => $valor_2,
3 => $valor_3,
4 => $valor_4,
5 => $valor_5
),
"operacion"=>array(
1 =>$operacion,
2 =>$operacion2,
3 =>$operacion3,
4 =>$operacion4
),
"oculto"=>array(
1=>$oculto1,
2=>$oculto2,
3=>$oculto3,
4=>$oculto4,
5=>$oculto5
)
);

$resultado=0;


if($valor_1==$oculto1 ||$valor_1==null && $valor_2==$oculto2||$valor_2==null && $valor_3==$oculto3||
$valor_3==null && $valor_4==$oculto4||$valor_4==null && $valor_5==$oculto5||$valor_5==null){
for($i=1; $i<count($Juego['operacion'])+1;$i++){
if($i==1){
if($Juego['operacion'][$i]=='+'){
$resultado=$Juego['oculto'][$i]+$Juego['oculto'][$i+1];
}elseif($Juego['operacion'][$i]=='-'){
$resultado=$Juego['oculto'][$i]-$Juego['oculto'][$i+1];
}elseif($Juego['operacion'][$i]=='*'){
$resultado=$Juego['oculto'][$i]*$Juego['oculto'][$i+1];
}elseif($Juego['operacion'][$i]=='/'){
$resultado=$Juego['oculto'][$i]/$Juego['oculto'][$i+1];
}

}else{
if($Juego['operacion'][$i]=='+'){
$resultado=$resultado+$Juego['oculto'][$i+1];
}elseif($Juego['operacion'][$i]=='-'){
$resultado=$resultado-$Juego['oculto'][$i+1];
}elseif($Juego['operacion'][$i]=='*'){
$resultado=$resultado*$Juego['oculto'][$i+1];
}elseif($Juego['operacion'][$i]=='/'){
$resultado=$resultado/$Juego['oculto'][$i+1];
}
}
}

echo'Valor esperado:'; echo $dodecaedro;
echo"<br>";
echo"<br>";
print($oculto1.$operacion.$oculto2.$operacion2.$oc ulto3.$operacion3.$oculto4.$operacion4.$oculto5." = ".$resultado);
} else{
echo"Hay un fallo de escritura. Revise los numeros y marque la operacion deseada.";
}

if($resultado==$dodecaedro){
echo"<br>";
echo"<br>";
echo"<br>";
echo'<h1>CORRECTO! HAS GANADO 1 PUNTO</h1>';
}else{
echo'<h1> INCORRECTO</h1>';
}
//ERRORES: SI EL PRIMERO NO SE PONE DA ERROR. SI EL PRIMERO ESTA BIEN LOS DEMAS DAN IGUAL QUE ESTEN MAL. EL PRIMERO RESTA SI SÓLO PONES DOS




?>

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:15.