Ответы пользователя по тегу PHP
  • Ошибка в скрипте, в чем может быть проблема?

    @fwervbyberstvrstrf
    Перевод ошибки:
    Замечание PHP: сессия уже была запущена - игнорируя session_start ()

    Ошибка в session_start()

    Не совсем понял, почему при названии функции my_session_start, Вы вызываете session_start()
    Ответ написан
    Комментировать
  • Как исключить повторного добавления?

    @fwervbyberstvrstrf
    А если отправить команду то добавляется сразу 2 раза из-за обычного сообщения и из-за команды !

    Потому что $reg = $body, а $body = $data->object->text, а $reg это как условие и как бы получается, что код выполняется 2 раза, если я правильно понял. Сделайте по-человечески условие, лучше через preg_match:
    if(preg_match('/рег/', $body)) {...

    Ну и советую сделать проверку наличия id_vk запросом SELECT, в базу.
    Если пользователь есть, то ничего не добавляем, если нет то соответственно добавляем
    В итоге будет примерно так:
    $check_user="SELECT id_vk FROM `bot` WHERE `id_vk` = {$peer_id}"; // делаем запрос на проверку по $peer_id
    if(empty($check_user)) { //если переменная пустая (ничего не найдено в запросе)
     $query ="INSERT INTO `bot`(`id_bot`, `id_vk`) VALUES (NULL, $peer_id)"; // то добавляем пользователя в базу
    }
    Ответ написан
  • Как определить админа(-ов) беседы Vk на Php?

    @fwervbyberstvrstrf
    Через метод messages.getConversationMembers, например.
    К админам привязан флажок is_admin, если человек админ беседы, то is_admin = true, а если нет, то флажок будет либо false либо просто скрыт.

    В любом случае это нужно делать через массив, например у меня бот и он определяет админов среди всех участников. Но это небольшая разница.

    Делаем запрос к методу, делаем массив и в массиве берем данные из response, который вернёт нам запрос к методу. В массиве чекаем пользователей с флажком is_admin. Если нужен конкретный пользователь, то ставим условие:

    Пример массива с условием:
    //определение админа
         UsersChatInfo($peer_id, $group_id_plus, $token, $v); // функция, где вызывается метод
         foreach ($user_chat_Info['response']['items'] as $users) { 
          if ($from_id == $users['member_id']) if ($users['is_admin'] == 1) $adm = true;  //проверяем админа


    member_id - это id искомого пользователя.
    Ответ написан
  • Как удалить из значение из mysql при выходе?

    @fwervbyberstvrstrf
    При выходе:
    $query = "UPDATE users SET validations_no = 0 WHERE username='$username'";

    Не?
    Ответ написан