Задать вопрос

Как сделать счетчик нажатий на кнопку для всех на сайте?

Подробнее: на сайте нужно сделать кнопку и счетчик рядом с ней (просто число). При нажатии на кнопку число становилось на единицу больше ДЛЯ ВСЕХ пользователей сайта. Это можно сравнить с лайками. Объясните на чем и как это можно реализовать. Желательно поподробней.
  • Вопрос задан
  • 1945 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 5
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Подробней - это не сюда, так как там реально много нюансов. В целом - по клику добавления на сервер уходит аякс запрос с информацией о добавлении цифры в определенное место (пост/коммент применительно к лайкам). В ответ приходит от сервера состояние - успешно/неуспешно и цифра текущего значения (так как другие пользователи тоже могли нажать в это время туда же), цифра заменяет собой текущее значение элемента. У всех пользователей запущен js который либо ждет ответа в сокет, либо по интервалу дергает аяксом скрипт на сервере с обновлением информации (первое предпочтительнее). Ответ обычно идет в формате json, в котором есть все данные об измененных с пердыдущего запроса состояниях. Все.
Ответ написан
Комментировать
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Наймите специалиста!
Ответ написан
@0ffff0
Принимая во внимание, что это у вас учебный проект, можно обойтись минимальными средствами
предупреждение Следующий ниже код можно использовать только в образовательных целях!!!!
<?php
//эта программа щитатит (ваш индюс)
session_start();
if (!isset($_SESSION['count'])) {
$_SESSION['count'] = 0;
} else {
function rw() {
$count = $_SESSION['count'];
$fp = fopen("W:\\home\\localhost\\www\\resurse\\counter.txt","r");
$contents .= fread($fp, 100);
$contents++;
fclose($fp);
$fp = fopen("W:\\home\\localhost\\www\\resurse\\counter.txt","w+");
fwrite($fp,$contents);
fclose($fp);
echo 'общее колличество сессий: ' . $contents . "\n";
echo 'ваш личный вклад : ' . $count . "\n";
}
$count = $_SESSION['count'];
rw();
$_SESSION['count']++;
}
?>
<html>
<head>
<title>знакомство с сессиями</title>
<!--<meta http-equiv=Refresh content="0; url=/denwer/">-->
<meta charset = "utf-8">
</head>
<body>

<script>
window.onload = function(){

window.addEventListener("click",()=>{location.reload(true)},false);
}

</script>
<h1>Привет мир! Это мой первый проект на PHP</h1>
<button>sciatic hump</button>
</body>
</html>
<html>
<head>
<title>знакомство с сессиями</title>
<!--<meta http-equiv=Refresh content="0; url=/denwer/">-->
<meta charset = "utf-8">
</head>
<body>

<script>
window.onload = function(){
window.addEventListener("click",()=>{location.reload(true);},false);
}

</script>
<h5>Это мой первый проект на PHP</h5>
<button>sciatic hump</button>
</body>
</html>

Для понимания того, что здесь происходит следует пройти по ссылкам и прилежно читать документацию:
сессии
файлы в php. чтение/запись
javascript/перезагрузка
обработка событий в javacript
Ответ написан
Samurai6666666666
@Samurai6666666666
Создаёшь в бд таблицу, и при нажатии кнопки записываешь в неё +1 значение( тип можно при нажатие кнопки достать число из. Бд после к этому числу прибавить 1 и записать снова), а общее значение вводишь рядом с кнопкой куда там тебе нужно
Ответ написан
Комментировать
@AndrewRusinas
Без базы данных никак)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
26 дек. 2024, в 16:23
30000 руб./за проект
26 дек. 2024, в 16:23
100000 руб./за проект
26 дек. 2024, в 14:40
15000 руб./за проект