Cita:
Iniciado por CUTTYSARK
Hola:
Estoy aprendiendo php. Quiero hacer un programa que genere dos números aleatorios.
El usuario tiene que poner la suma en una cuadro de un formulario (no he encontrado otra forma de ingresar datos por teclado. Si hay otra manera, por favor, decídmela) y que me diga si es correcta la respuesta o no.
El código que he hecho es el siguiente pero no me funciona. Siempre genera los números antes de yo meterle la suma.
Código:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Documento sin título</title>
</head>
<body>
<?php
if (isset($_POST["button"])) {
$numero1 =rand(1,20);
$numero2 =rand(1,20);
echo "Numero 1: " . $numero1 . "<br>"."<br>";
echo "Numero 2: " . $numero2 . "<br>"."<br>";
$resultado=$numero1+$numero2;
$resultado_usuario =$_POST["resultado_usuario"];
echo "El resultado que ha puesto el usuario es : ". $resultado_usuario. "<br>"."<br>";
if ($resultado == $resultado_usuario){
echo "<b>El resultado es correcto</b>"."<br>"."<br>";
} else{
echo "El resultado no es correcto" ."<br>"."<br>";
echo "El resultado correcto es: ".$resultado . "<br>"."<br>";
}
}
?>
<p> </p>
<form name="form1" method="post" action="">
<p>
<input type="text" name="resultado_usuario" id="resultado_usuario">
</p>
<p>
<input type="submit" name="button" id="button" value="Enviar" onClick="prueba">
</p>
</form>
<p> </p>
</body>
</html>
¿Me podéis ayudar a solucionarlo?
Gracias
Un saludo
Tu código esta bien, si quieres que primero imprima el resultado de tu suma y luego los números aleatorios, sólo tienes que cambiar el orden de tu script php.
Código PHP:
Ver originalif (isset($_POST["button"])) {
$resultado_usuario =$_POST["resultado_usuario"];
echo "El resultado que ha puesto el usuario es : ". $resultado_usuario. "<br>"."<br>";
echo "Numero 1: " . $numero1 . "<br>"."<br>";
echo "Numero 2: " . $numero2 . "<br>"."<br>";
$resultado=$numero1+$numero2;
if ($resultado == $resultado_usuario){
echo "<b>El resultado es correcto</b>"."<br>"."<br>";
} else{
echo "El resultado no es correcto" ."<br>"."<br>";
echo "El resultado correcto es: ".$resultado . "<br>"."<br>";
}
}