PHP - Ayuda soy nuevo en php

 
Vista:
sin imagen de perfil

Ayuda soy nuevo en php

Publicado por andres (7 intervenciones) el 19/04/2018 20:05:27
Me han dejado un ejercicio de php en el cual la máquina genere un número aleatorio entre 1 y 500 y el usuario deberá adivinarlo lo cual si el número ingresado es mayor al elegido por la máquina de vera de modificarlo, el usuario sólo tendrá 10 intentos.
Ya probé con sesiones y al presionar el botón enviar se me cambia el número aleatorio
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Ayuda soy nuevo en php

Publicado por anonymous (24 intervenciones) el 20/04/2018 13:31:53
Esto te debería ayudar, podes fijarte que numero se generó yendo a ver el valor de la cookie "number" o haciendo simplemente "echo $_COOKIE['number'];". Comentame cualquier cosa

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php
error_reporting(0);
$random_number = rand(1, 500);
setcookie('playing', '0', time() + (86400 * 30), "/");
if(empty($_POST['submit']) && $_COOKIE['playing'] != 1){
setcookie('number', $random_number, time() + (86400 * 30), "/");
setcookie('attempts', '1', time() + (86400 * 30), "/");
}
?>
<form method="POST">
<font color="red">Número generado...</font><br><hr style="width: 250px; float: left;"><br>
Adivinar número: <input type="number" name="numero" style="width: 40px">
<input type="submit" name="submit">
</form>
<?php
if(isset($_POST['submit'])){
$number = $_POST['numero'];
$cookie_number = $_COOKIE['number'];
$attempts = $_COOKIE['attempts'];
setcookie('playing', '1', time() + (86400 * 30), "/");
 
function attempts_left($valor){
if($valor == 1){ $valor = 9;
}elseif($valor == 2){ $valor = 8;
}elseif($valor == 3){ $valor = 7;
}elseif($valor == 4){ $valor = 6;
}elseif($valor == 5){ $valor = 5;
}elseif($valor == 6){ $valor = 4;
}elseif($valor == 7){ $valor = 3;
}elseif($valor == 8){ $valor = 2;
}else{ $valor = 1; }
return $valor;
}
 
$attempts_left = attempts_left($_COOKIE['attempts']);
 
if($number != $cookie_number && $attempts < 10){
	$another_try = $attempts+1;
	echo '<hr style="width: 250px; float: left;  margin-top: -2px;"><br>Error, te queda'; if($attempts_left > 1){ echo 'n';} echo ' <b>'.$attempts_left.'</b> intento'; if($attempts_left > 1){ echo 's';}
	setcookie('attempts', $another_try, time() + (86400 * 30), "/");
}elseif($number != $cookie_number && $attempts == 10){
	echo '<hr style="width: 250px; float: left;  margin-top: -2px;"><br>Error, perdiste todos tus intentos. <meta http-equiv="Refresh" content="1;url=/">';
}else{
	echo 'Has adivinado con éxito el número: <b>'.$cookie_number.'</b>. <meta http-equiv="Refresh" content="3;url=/">';
	setcookie('playing', '0', time() + (86400 * 30), "/");
}
}
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar