проблема с выводом этого кода

#php

#php

Вопрос:

я написал этот код. в этом коде пользователь угадывает число, затем программа сверяет число с номером, который я ему ввожу, и печатает соответствующее сообщение. когда я запускаю программу, она показывает welcome, что это правда, но когда я ввел в нее number, в выводе всегда мало что отображается, но это неправда.

    $val = '42';
$gues ;
if(!isset($gues))
$mess =  "welcome<br>";
elseif($gues > $val)
$mess =  "bigr<br>";
elseif($gues < $val)
$mess =  "little<br>";
else
$mess =  "win<br>";

$gues = @(int) $gues;



?>
<html>
<head><title>bazi riazi</title></head> 
<body>
<h1>
<?php print $mess;
?>
</h1>
<form method="POST">
type you gues here:<input type="text" name='gues'>
</form>


</body>
</html>
  

Ответ №1:

Как ваш var $gues получает значение из формы? Вы использовали $_POST['gues'] первым?

Скрипт всегда печатает, little потому что, вероятно, переменная $gues не была инициализирована никаким значением (по умолчанию, я полагаю, равно нулю …).

Комментарии:

1. попробуйте заменить ` $ gues;` на $gues = $_POST['gues'];

Ответ №2:

Этот код должен работать (хотя и непроверенный):

    $val = '42';
   $gues = int($_POST['gues']);

   if (!isset($gues))
   {
       $mess =  "welcome<br>";
   }
   elseif($gues > $val)
   {
       $mess =  "bigr<br>";
   }
   elseif($gues < $val)
   {
       $mess =  "little<br>";
   }
   else
   {
       $mess =  "win<br>";
   }