telegram bot на php. сессии

435
06 июля 2017, 03:33

Доброго времени суток. я пишу телеграм бота на php и проблема вот в чем. бот проводит мини тест. и чтобы с каждым разом менять номер вопроса я использую сессию. сессия задается но никак не увеличивает значение переменной. вот отрывок кода:

`

<?php
  session_start();
if (!isset($_session["si"]))
  {
    $i=0;
    $_session["si"]=$i;
  }
  else{
    $i=$_session["si"];
  }
/*
$i=(isset($_cookie["i"])) ? $_cookie["i"]:0;
$i++;
setcookie("i",$i,time()+3600);
echo $i;
*/
  $token="00000:xxxxxxxxxxxxxxxxxxx";
  $website="https://api.telegram.org/bot".$token;
  $upd=file_get_contents("php://input");
  $updarray=json_decode($upd,true);
  $chatId=$updarray["message"]["chat"]["id"];
  $chat=$updarray["message"]["chat"]["type"];
  $name=$updarray["message"]["from"]["first_name"];
  $login=$updarray["message"]["from"]["username"];
  $text=mb_strtolower($updarray["message"]["text"],"UTF-8");

  $questions[0]="4+6=";
  $questions[1]="1+23=";
  $questions[2]="8/2=";
  $questions[3]="4*3=";
  $questions[4]="21-15=";
  $answers=array(array("10","12","8","9"),array("25","20","21","24"),array("5","4","2","6"),array("11","20","12","10"),array("4","6","2","11"));

  $formques="<br>"." ".$questions[$i]."<br> A. ".$answers[$i][0]."<br> B. ".$answers[$i][1]."<br> C. ".$answers[$i][2]."<br> D. ".$answers[$i][3];

$keyboard1 = array(array("Начать тест","Галерея","Отзывы"));
$resp1 = array("keyboard" => $keyboard1,"resize_keyboard" => true,"one_time_keyboard" => true);
$breply1 = json_encode($resp1);
$keyboard2 = array(array("Начать"),array("Отмена"));
$resp2 = array("keyboard" => $keyboard2,"resize_keyboard" => true,"one_time_keyboard" => true);
$breply2 = json_encode($resp2);
$keyboard3=array(array("A","B"),array("C","D"));
$resp3 = array("keyboard" => $keyboard3,"resize_keyboard" => true,"one_time_keyboard" => true);
$breply3 = json_encode($resp3);
$keyboard4 = array(array("Галерея","Отзывы"));
$resp4 = array("keyboard" => $keyboard4,"resize_keyboard" => true,"one_time_keyboard" => true);
$breply4 = json_encode($resp4);

  switch ($text)
   {
    case "/start":
      $reply="Здравствуйте, $name!&reply_markup=".$breply1;
      break;
    case "начать тест":
      $reply="Прервать тест нельзя. Вы уверены?&reply_markup=".$breply2;
      break;
    case "начать":
      $reply="начинается тест.".$formques."&reply_markup=".$breply3;
      break;
    case "галерея":
      $reply="Вот так выглядит наш офис! https://www.youtube.com/watch?v=ke1mZsaN7tc&reply_markup=".$breply1;
      break;
    case "отзывы":
      $reply="Вот несколько отзывов от наших клиентов! https://mlp.kz&reply_markup=".$breply1;
      break;
    case "отмена":
      $reply="Вы отменили тест, $name.&reply_markup=".$breply1;
      break;
      case "a":
      case "b":
      case "c":
      case "d":
        if($i==4)
          $reply="Тест завершён. ".$breply4;
        else {
          $j=$i+1;
          $reply=$formques."&reply_markup=".$breply3;
          $i=$i+1;
          $_session["si"]=$i;}
        break;
    default:
      $reply="Я Вас не понимаю.&reply_markup=".$breply1;
      break;
  }

  $textmes=$website."/sendMessage?chat_id=".$chatId."&text=".$reply;
  file_get_contents($textmes);
  session_write_close ();
// unset($_SESSION['si']);
  ?>

`

кстати, куки тоже ведут себя точно также.

READ ALSO
Подгрузить картинку в форму upload bootstrap из БД [требует правки]

Подгрузить картинку в форму upload bootstrap из БД [требует правки]

Доброго времени суток, мне нужно подгрузить картику из бд в upload форму Помогите пожалуйста

215
Даты между php и mssql

Даты между php и mssql

Добрый день!

180
Существует ли библиотека для веб с интеграцией chat-sdk?

Существует ли библиотека для веб с интеграцией chat-sdk?

Есть хорошая Chat-SDK, построенная на Firebase : SDK Вопрос: есть ли уже готовая интеграция с этой SDK для WEB? PS

176