PHP Не запускайте код при обновлении - PullRequest
0 голосов
/ 01 октября 2009

Итак, у меня есть эта страница, которую пользователь может видеть только 5 раз. И я сделал этот код, который входит в базу данных, и он добавляет 1 в поле AccessCount каждый раз, когда пользователь входит в систему. Я хочу сделать так, чтобы, если пользователь обновляет свой веб-браузер, был запущен код, который записывает AccessCount НЕ.

Как я могу это сделать? Спасибо!

Ответы [ 4 ]

3 голосов
/ 01 октября 2009

подсчитывает количество выполнений php-скрипта, который генерирует страницу, которую вы хотите ограничить, вместо подсчета логинов. Вы можете использовать функции $ _SESSION и session для поддержки и получения идентификатора пользователя, для которого выполняется скрипт

1 голос
/ 01 октября 2009

если их счетчик увеличивается только тогда, когда пользователь входит в систему, увеличивайте его только в той части кода, в которой он регистрируется (устанавливает файлы cookie, переменные сеанса и т. Д.), Не нужно беспокоиться о перезагрузке страницы.

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

0 голосов
/ 01 октября 2009

Вы должны использовать сеансы для решения. Код ниже должен работать для ваших целей.

session_start();

function incrementAccessCount() {
    if (empty($_SESSION['loggedin'])) {

        /* mysql code to increment access count */

        $_SESSION['loggedin'] = 1;
    }

}

incrementAccessCount();
0 голосов
/ 01 октября 2009

Обычно вы выполняете подсчет на другой странице и пересылаете пользователя на страницу, которую он должен видеть только 5 раз после того, как вы увеличили счет. Это похоже на то, что вы будете делать после отправки формы, отправьте форму на страницу, которая вводит данные в базу данных, а затем передайте браузер на новую страницу, сообщая им, что она заполнена. Таким образом, перезагрузка страницы не продолжит обновлять базу данных либо данными формы, либо в вашем случае данными подсчета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...