Проблема с циклом while

198
07 января 2018, 07:27

Привет. Есть такая проблема. Не удовлетворяется условие цикла.

    function checkclose()
{
  global $_SESSION;
  if ($_SESSION["closesession"])
  {
      unset($_SESSION["closesession"]);
      exit();
  }
}
$seconds = 30;
while((!$close) or ($seconds == 0))
{
  session_start();
  $result = $mysqli->query("SELECT status FROM order WHERE message_id = '$message_id'");
  $row = $result->fetch_array(MYSQLI_BOTH);
  $status_read = $row['status_read'];
  if($status_read == 'yes') {
    $close = true;
  }
  $seconds = $seconds - 5;
  checkclose();
  session_write_close();
  sleep(5);
}
session_start();
$_SESSION["closesession"] = true;
var_dump($_SESSION);

Я думаю сам цикл while не крутиться а вместо этого каждый раз заново крутиться весь код. Там внутри цикла есть обращение к функции checkclose(); вот и оно заново запускает все сначала и поэтому переменная $seconds всегда имеет значение равная к 30.

Как решить проблему?

Answer 1

Вместо

while((!$close) or ($seconds == 0))

используйте

while((!$close) and ($seconds != 0))

чтобы цикл продолжался пока ни одно условие ($close == true, $seconds == 0) не выполнилось.

READ ALSO
Выполнение js после получения сервером post запроса

Выполнение js после получения сервером post запроса

Имеется telegram бот для авторизации пользователейПользователь нажимает кнопку авторизации на сайте, получает токен, отправляет его боту

272
Конвертация строки в Mongo BSON ObjectId?

Конвертация строки в Mongo BSON ObjectId?

В базе хранится значение в виде Mongo BSON ObjectId("5a500d59f796314bd969fda6")Оттуда оно попадает в форму на сайте и автоматически преобразуется в строку

230
Как в WordPress изменить шрифт заголовка выводимой статьи?

Как в WordPress изменить шрифт заголовка выводимой статьи?

Привет!У меня есть сайт на WordPressМне нужно изменить шрифт заголовка статьи

299
Call to undefined function Intervention\Image\Gd\imagecreatefromjpeg()

Call to undefined function Intervention\Image\Gd\imagecreatefromjpeg()

Запускаю Laravel:54 + Voyager в Docker

399