Предлагаю вместо этого использовать технику клиентской стороны, такую как localStorage или cookie.
Основная причина в том, что если вы пытаетесь отслеживать клики на кнопках и ссылках с PHP, вам нужно будет каждый раз отправлять новый HTTP-запрос, чтобы вы могли отслеживать его на вашем PHP с помощью $_POST
или $_GET
. Хотя это может быть очевидно для ссылки, это действительно повредит пользователю, когда дело доходит до кнопок (которые не являются кнопками отправки формы).
Предполагая, что вы хотите избежать обращения к странице при каждом нажатии кнопки, вам необходимо реализовать Ajax. Это приводит нас к следующему вопросу: если вы уже используете javascript и Ajax, почему бы просто не отслеживать все в Javascript с первого места и только общаться с сервером, когда это необходимо?
Client Side Tracking с localStorage
:
Используя localStorage
или Cookies
, вы можете просто связать события кликов и сохранить его в массив.
В JavaScript/JQuery вы можете использовать следующую examaple:
$(document).ready(function() {
var urls = JSON.parse(localStorage["visited"]) || [];//get the visited urls from local storage or initialize the array
if (urls.indexOf(document.URL) == -1) {//if current url does not exist in the array
urls.push(document.URL);//add it to the array
localStorage["visited"] = JSON.stringify(urls);//save a stringifyed version of the array to local storage
}
});
При наличии данных массива в JavaScript, вы можете легко манипулировать DOM и CSS без зависимости от сервера. (т. е. меняя текст ссылки, href или css, если он уже был нажат).
Надеюсь, это поможет!
php - это серверный язык, я думаю, что у вас есть веб-программирование, все неправильно – Dima
Я знаю, какой язык на стороне сервера. Я говорю об отправке переменной в форме submit и добавлении ее в массив $ _SESSION. Я просто не знаю, как это будет функционировать. –
что вы пытаетесь сделать? –