Контакты
Местоположение
Беларусь, Гомельская обл., Гомель

Достижения

Все достижения (1)

Наибольший вклад в теги

Все теги (13)

Лучшие ответы пользователя

Все ответы (14)
  • Как в PHP закрыть доступ к скрипту?

    Воу воу. В index.php создайте константу которую будете проверять, и после во всех подключаемых файлах проверяйте ее.

    // index.php - до подключения других файлов
    define('MY_CONSTANT', TRUE);


    // во всех подключаемых файлах делайте проверку
    <?php
    if (!defined('MY_CONSTANT')) exit('No direct script access allowed.');
    
    class MY_Class {
    ....
    }


    п.с. не посмотрел дату вопроса)) но может пригодится
    Ответ написан
    Комментировать
  • Осталось мало памяти на хостинге. Что делать?

    Интересно что вы там храните? Можно попробовать использовать облачные сервисы https://cloud.yandex.ru/services/storage хранить и использовать файлы от туда (сам еще не пробовал реализацию, но на сколько я понимаю, сервис как раз для этого).

    Думаю Вам нужно изменить структуру своего проекта, если вы предлагаете скачать что-то, проще выдавать ссылки на облако, опять же тот же Яндекс.Диск, Облако.Меил.РУ или гугл диск.

    С такими объемами данных вам вряд ли стоит использовать хостинг.
    Ответ написан
    Комментировать
  • Как отслеживать новые записи в бд и выводить их на экран без перезагрузки страницы?

    Вам нужно сделать проверку новых сообщений по интервалу.
    let lastMessageId = null
    let checkNewMessageInterval = setInterval(() => {
        $.ajax({
          url: 'ajax/checkNewMessage.php',
          type: 'POST',
          cache: false,
          data: {last_id: lastMessageId},
          dataType: 'html',
          success: function(response) {
                let lastMessage = response.data[response.data.length - 1]
                lastMessageId = lastMessage.message_id // сохраняем последнее сообщение которое получили
                // .....
          }
        })
       // ...
    }, 5000)


    При последнем обновлении, вы можете хранить ID последнего сообщения, а при следующем запросе, получать сообщения только с ID позже сохраненного.

    Запрос для БД:
    SELECT * FROM chat WHERE `message_id` > $_POST['last_id']


    еще лучше, сначала проверять есть ли вообще новые сообщения, и если есть то тогда уже получать эти сообщения:
    SELECT COUNT(*) FROM chat WHERE `message_id` > $_POST['last_id']


    Это очень простой вариант я описал, но в общем реализация чата через AJAX - это кривой вариант. Вам постоянно придется дергать БД на проверку новых сообщений, и так каждому пользователю.

    Лучший и правильный вариант использовать websoket. Используя websoket пользователи будут получать сообщения сразу после их написания, по сути и БД дергать не нужно. Так как БД будет служить только для подгрузки истории сообщений,
    Ответ написан
    Комментировать
  • Json_encode на локально и хосте, почему разница?

    Проверьте не $encodedKeyboard, а ошибку сериализации json_last_error_msg(). Там уже можно дальше смотреть
    Ответ написан
    Комментировать
  • Как правильно подключать файлы сайта?

    В начальном файле вы можете создать константу, на "корень сайта".
    То есть в файле index.php добавляете

    <?php
        /**
         * Указываем начальную точку от куда,
         * будем тянуть все файлы в последующем.
         * Также для проверки как запущен наш файл, 
         * напрямую из браузера или подключен из главного скрипта.
         */
        define('BASEPATH', __DIR__);
    
        // подключаете нужные файлы header, content, footer
        require_once "partials/header.php";
    
        // в подключенных файлах используйте такой способ.
        // например в файле partials/header.php
        // require_once BASEPATH . "partials/menu.php";


    Про безопасность. Вы можете проверять в начале каждого файла какую-нибудь константу, и если ее нет прекращать работу скрипта. В данном случае можно также использовать уже созданную BASEPATH.

    <?php if (!defined('BASEPATH')) exit('Прямой доступ к файлу запрещен...');
    // ... ваш код файла partials/header.php, partials/menu.php и т.д. ...
    Ответ написан
    1 комментарий

Лучшие вопросы пользователя

Все вопросы (8)