Foros del Web » Programando para Internet » PHP »

Duda con php

Estas en el tema de Duda con php en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 30/08/2015, 16:46
 
Fecha de Ingreso: mayo-2004
Mensajes: 137
Antigüedad: 15 años, 6 meses
Puntos: 2
Duda con php

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>&nbsp;</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>&nbsp;</p>
</body>

</html>
¿Me podéis ayudar a solucionarlo?
Gracias
Un saludo
  #2 (permalink)  
Antiguo 01/09/2015, 09:23
 
Fecha de Ingreso: marzo-2015
Mensajes: 183
Antigüedad: 4 años, 8 meses
Puntos: 8
Respuesta: Duda con php

Cita:
Iniciado por CUTTYSARK Ver Mensaje
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>&nbsp;</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>&nbsp;</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 original
  1. if (isset($_POST["button"])) {
  2.    
  3.         $numero1 =rand(1,20);
  4.         $numero2 =rand(1,20);
  5.        
  6.         $resultado_usuario =$_POST["resultado_usuario"];
  7.         echo "El resultado que ha puesto el usuario es : ". $resultado_usuario. "<br>"."<br>";
  8.        
  9.         echo "Numero 1: " . $numero1 . "<br>"."<br>";
  10.         echo "Numero 2: " . $numero2 .  "<br>"."<br>";
  11.         $resultado=$numero1+$numero2;
  12.        
  13.         if ($resultado == $resultado_usuario){
  14.             echo "<b>El resultado es correcto</b>"."<br>"."<br>";
  15.            
  16.         } else{
  17.             echo "El resultado no es correcto" ."<br>"."<br>";
  18.            
  19.             echo "El resultado correcto es: ".$resultado . "<br>"."<br>";
  20.         }
  21.     }
  #3 (permalink)  
Antiguo 01/09/2015, 14:59
 
Fecha de Ingreso: mayo-2004
Mensajes: 137
Antigüedad: 15 años, 6 meses
Puntos: 2
Respuesta: Duda con php

Hola:
Gracias por la respuesta. Sigue sin funcionar.
A lo mejor no me he explicado bien. Voy a intentarlo:
Lo que quiero hacer es que se generen dos número aleatorios y pida al usuario que introduzca por teclado el resultado.
Si el resultado es correcto, que lo diga y si es incorrecto que ponga el resultado correcto.
Sin los números aleatorios si que me sale.
Con los números aleatorios lo que me hace es sacarme dos números por pantalla aleatorios y cuando pongo el resultado por el teclado y le doy a enviar, me saca otros dos números aleatorios diferentes por lo que el resultado que pongo siempre es incorrecto.

Un saludo
  #4 (permalink)  
Antiguo 01/09/2015, 16:22
 
Fecha de Ingreso: enero-2015
Ubicación: Cordoba, Andalucía
Mensajes: 111
Antigüedad: 4 años, 11 meses
Puntos: 15
Respuesta: Duda con php

o te guardas los numeros en un input type hidden

o tambien en una variable de session

o haces este calculo ediante una funcion js
  #5 (permalink)  
Antiguo 01/09/2015, 16:28
 
Fecha de Ingreso: mayo-2004
Mensajes: 137
Antigüedad: 15 años, 6 meses
Puntos: 2
Respuesta: Duda con php

Cita:
Iniciado por MrGilbertMan Ver Mensaje
o te guardas los numeros en un input type hidden

o tambien en una variable de session

o haces este calculo ediante una funcion js
Gracias de nuevo por la respuesta. No tengo ni idea de lo que me dices pero ya tengo un punto de partida para investigar.

Un saludo
  #6 (permalink)  
Antiguo 01/09/2015, 17:03
 
Fecha de Ingreso: marzo-2015
Mensajes: 183
Antigüedad: 4 años, 8 meses
Puntos: 8
Respuesta: Duda con php

Ya te entendí, como dijeron por ahí la salida más fácil es tener un hidden en donde se almacene el resultado aleatorio. Acá la solución.
Código PHP:
Ver original
  1. $numero1 =rand(1,20);
  2. $numero2 =rand(1,20);
  3. $resultado=$numero1+$numero2;
  4.  
  5. if(isset($_POST['enviar'])){
  6.   $valor_aleatorio= $_POST['valor_aleatorio'];
  7.   $valor=$_POST['valor'];
  8.   if($valor_aleatorio==$valor){
  9.       echo "<b>El resultado es correcto</b>"."<br>"."<br>";
  10.   }else{
  11.       echo "El resultado no es correcto" ."<br>"."<br>";
  12.            
  13.       echo "El resultado correcto es: ".$valor_aleatorio . "<br>"."<br>";  
  14.   }
  15. }
  16.  
  17. echo "
  18. <form method='post'>
  19. <input type='hidden' name='valor_aleatorio' value='".$resultado."'/><input type='text' name='valor'/>
  20. <input type='submit' name='enviar' value='ENVIAR'/>
  21. </form>
  22. ";

Etiquetas: formulario, html
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 19:47.