Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.80/55: Рейтинг темы: голосов - 55, средняя оценка - 4.80
 Аватар для RosenR@t
136 / 136 / 7
Регистрация: 07.07.2010
Сообщений: 774

Подсчет нажатий на кнопку+

14.06.2012, 14:44. Показов 11735. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Раньше знал php о за год забыл на проч все. Помогите если не трудно. Нужно сделать что-то напоминающее голосование. Сделать как можно проще. Смысл в том, что бы человек зашел на страничку. Допустим будет 4 участника, ну и 4 кнопки, при нажатии на кнопку какая-либо переменная увеличивалась на 1 и выводилась. Я попробовал сделать просто, но видимо я совсем забыл php
PHP
1
2
3
4
5
6
7
<?php
@$k1=$_POST['k1'];
$n1=0;
if ($k1==true){
$n1++;
}
?>
HTML5
1
2
3
<input type="submit" name="k1" value="Отдать голос!"> 
<br>
<?php echo "$n1 голосов";?>
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.06.2012, 14:44
Ответы с готовыми решениями:

Количество нажатий на кнопку
Доброго времени суток. Задача такая, есть допустим кнопка, при нажатие на нее обновляется время, нажать на кнопку можно 6 раз в сутки. Как...

Подсчитать количество нажатий на кнопку
Здравствуйте, возникла необходимость подсчета количества нажатий на кнопку в php и записи этого значения в переменную $... Нашел код...

Счетчик нажатий на кнопку PHP
Привет всем. Как реализовать следующее: Есть HTML форма отправки имени, номера по нажатию на кнопку на почту. Как реализовать некий...

21
странник
 Аватар для Donald28
810 / 481 / 108
Регистрация: 28.05.2012
Сообщений: 1,518
Записей в блоге: 2
14.06.2012, 14:59
Основная сложность в том, чтобы при загрузке страницы было известно количество уже проголосовавших. Т.е. эта информация должна храниться на сервере. Поэтому без базы данных не обойтись (других способов я не вижу).
1
 Аватар для RosenR@t
136 / 136 / 7
Регистрация: 07.07.2010
Сообщений: 774
14.06.2012, 15:01  [ТС]
То есть нужна хотя бы одна табличка?
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
14.06.2012, 15:04
Цитата Сообщение от Donald28 Посмотреть сообщение
других способов я не вижу
можно в файле хранить , но я конечно за базу 2мя руками

база данных есть ?
0
 Аватар для RosenR@t
136 / 136 / 7
Регистрация: 07.07.2010
Сообщений: 774
14.06.2012, 15:05  [ТС]
Если у товарища этот сайт лежит на одном хостинге, могу я допустим создать базу на своем, а в php файле просто подключаться к своей базе и таблице?!
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
14.06.2012, 15:11
да конечно
1
 Аватар для RosenR@t
136 / 136 / 7
Регистрация: 07.07.2010
Сообщений: 774
14.06.2012, 15:12  [ТС]
Может кто поделится ссылкой на тему или мануал как это все примерно организовать голосование
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
14.06.2012, 15:15
http://codething.ru/vote.php
0
странник
 Аватар для Donald28
810 / 481 / 108
Регистрация: 28.05.2012
Сообщений: 1,518
Записей в блоге: 2
14.06.2012, 15:18
Цитата Сообщение от RosenR@t Посмотреть сообщение
То есть нужна хотя бы одна табличка?
Все зависит от того, что ты понимаешь по табличкой. В грубом приближении базу данных можно назвать и табличкой
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
14.06.2012, 15:29
Цитата Сообщение от Donald28 Посмотреть сообщение
Все зависит от того, что ты понимаешь по табличкой. В грубом приближении базу данных можно назвать и табличкой
Ну вообще то ему как раз нужна не отдельная база данных для голосования, а табличка из базы


RosenR@t, а вам всего одно голосование нужно? Или разные?
Если всего одно, то есть всего один счётчик нажатий, то файл будет проще и быстрей
0
 Аватар для RosenR@t
136 / 136 / 7
Регистрация: 07.07.2010
Сообщений: 774
14.06.2012, 15:51  [ТС]
Одно, по сути можно совсем простое. 4 картинки под ними 4 кнопки или радиобаттона, ну и 4 переменные под ними что б выводили сколько раз клацнули, по ip без разницы, то есть по принципу минимализма

Добавлено через 1 минуту
Цитата Сообщение от Donald28 Посмотреть сообщение
Все зависит от того, что ты понимаешь по табличкой. В грубом приближении базу данных можно назвать и табличкой
Ну тут уж CREATE DATABASE и CREATE TABLE в любом приближении вещи разные ))))
0
 Аватар для Sergio Aguero
452 / 443 / 21
Регистрация: 11.04.2012
Сообщений: 2,076
14.06.2012, 15:52
посоны, а на яваскрипте обрабатывать нажатия кнопки нельзя без базы данных??
0
 Аватар для RosenR@t
136 / 136 / 7
Регистрация: 07.07.2010
Сообщений: 774
14.06.2012, 15:53  [ТС]
Цитата Сообщение от Sergio Aguero Посмотреть сообщение
посоны, а на яваскрипте обрабатывать нажатия кнопки нельзя без базы данных??
Я в js полный нуль
0
 Аватар для Sergio Aguero
452 / 443 / 21
Регистрация: 11.04.2012
Сообщений: 2,076
14.06.2012, 15:55
Цитата Сообщение от RosenR@t Посмотреть сообщение
Я в js полный нуль
да я не тебя спрашиваю
вопрос к корефеям JS
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
14.06.2012, 16:00
Цитата Сообщение от Sergio Aguero Посмотреть сообщение
а на яваскрипте обрабатывать нажатия кнопки нельзя без базы данных?
JS в браузере, а БД - на сервере. Вопрос неправильный. "Летели два крокодила. Сколько стоит булка хлеба?"
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
14.06.2012, 16:11
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
 
$file = explode('|', file_get_contents('rate.txt'));
 
if (count($file) < 4)
    $file[0] = $file[1] = $file[2] = $file[3] = 0;
 
if (isset($_GET['submit']) && is_array($_GET['submit']))
{
    $button = each($_GET['submit']);
    $file[$button['key']] ++;
}
file_put_contents('rate.txt', implode('|', $file));
?>
<form>
    <input type="submit" name="submit[0]" value="кнопка 1 (<?php echo $file[0] ?> голосов)"/>
    <input type="submit" name="submit[1]" value="кнопка 2 (<?php echo $file[1] ?> голосов)"/>
    <input type="submit" name="submit[2]" value="кнопка 3 (<?php echo $file[2] ?> голосов)"/>
    <input type="submit" name="submit[3]" value="кнопка 4 (<?php echo $file[3] ?> голосов)"/>
</form>
Добавлено через 1 минуту
Цитата Сообщение от Vovan-VE Посмотреть сообщение
"Летели два крокодила. Сколько стоит булка хлеба?
Вопрос с подвохом, я думаю примерно пол крокодила
Крокодил зелёный, а зеленью называют баксы, то есть в долларах. У нас пол бакса булка стоит, а значит пол крокодила
3
странник
 Аватар для Donald28
810 / 481 / 108
Регистрация: 28.05.2012
Сообщений: 1,518
Записей в блоге: 2
14.06.2012, 16:13
Цитата Сообщение от DrobyshevAlex Посмотреть сообщение
Вопрос с подвохом
Нет, это был риторический вопрос!!!
0
0 / 0 / 0
Регистрация: 18.06.2019
Сообщений: 2
18.06.2019, 00:05
Друзья, @DrobyshevAlex, а как в данный код добавить кнопки уменшения счетчика?
чтобы можно было делать $file[$button['key']] --; т.е. уменьшение по каждой позиции голосов

благодарю заранее, PHP для меня незнакомый пока еще язык.
0
18 / 13 / 6
Регистрация: 04.04.2019
Сообщений: 827
18.06.2019, 01:13
Цитата Сообщение от namedpacman Посмотреть сообщение
а как в данный код добавить кнопки уменшения счетчика?
чтобы можно было делать $file[$button['key']] --; т.е. уменьшение по каждой позиции голосов
Ну так продублируйте по аналогии с другими именами, только поменяйте метод ввода на ПОСТ, ато при обновлении страницы автоматический пересчет будет. Напр, так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
 
$file1 = explode('|', file_get_contents('rate.txt'));
 
if (count($file1) < 4)
    $file1[0] = $file1[1] = $file1[2] = $file1[3] = 0;
 
if (isset($_POST['sub']) && is_array($_POST['sub']))
{
    $button = each($_POST['sub']);
    $file1[$button['key']] --;
}
file_put_contents('rate.txt', implode('|', $file1));
?>
 
<form method="post">
    <input type="submit" name="sub[0]" value="кнопка 1- (<?php echo $file1[0] ?> голосов)"/>
    <input type="submit" name="sub[1]" value="кнопка 2- (<?php echo $file1[1] ?> голосов)"/>
    <input type="submit" name="sub[2]" value="кнопка 3- (<?php echo $file1[2] ?> голосов)"/>
    <input type="submit" name="sub[3]" value="кнопка 4- (<?php echo $file1[3] ?> голосов)"/>
</form>
0
0 / 0 / 0
Регистрация: 18.06.2019
Сообщений: 2
18.06.2019, 10:33
Спасибо за быстрый ответ! @DyadyaGe!

у меня в итоге получился такой код

<!DOCTYPE html>
<html>
<head>
<title>Пример</title>
</head>
<body>

<div>
<?php

$file = explode('|', file_get_contents('rate.txt'));

if (count($file) < 4)
$file[0] = $file[1] = $file[2] = $file[3] = 0;

if (isset($_GET['submit']) && is_array($_GET['submit']))
{
$button = each($_GET['submit']);
$file[$button['key']] ++;
}
file_put_contents('rate.txt', implode('|', $file));
?>
<form>
<input type="submit" name="submit[0]" value="Вася (<?php echo $file[0] ?> камазов)"/>
<input type="submit" name="submit[1]" value="Петя (<?php echo $file[1] ?> бананов)"/>
<input type="submit" name="submit[2]" value="Света (<?php echo $file[2] ?> айфонов)"/>
<input type="submit" name="submit[3]" value="Люся (<?php echo $file[3] ?> билетов)"/>

</form>
<div/>
<?php
$file1 = explode('|', file_get_contents('rate.txt'));

if (count($file1) < 4)
$file1[0] = $file1[1] = $file1[2] = $file1[3] = 0;

if (isset($_POST['sub']) && is_array($_POST['sub']))
{
$button = each($_POST['sub']);
$file1[$button['key']] --;
}
file_put_contents('rate.txt', implode('|', $file1));
?>

<form method="post">
<input type="submit" name="sub[0]" value="Вася 1- (<?php echo $file1[0] ?> минус)"/>
<input type="submit" name="sub[1]" value="Петя 2- (<?php echo $file1[1] ?> минус)"/>
<input type="submit" name="sub[2]" value="Света 3- (<?php echo $file1[2] ?> минус)"/>
<input type="submit" name="sub[3]" value="Люся 4- (<?php echo $file1[3] ?> минус)"/>
</form>


</body>
</html>

но последняя кнпока почему то не уменьшает счетчик
в чем могла бы быть проблема?
спасибо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.06.2019, 10:33
Помогаю со студенческими работами здесь

Счетчик нажатий на кнопку "Поделиться" в соцсетях на PHP
Доброго времени суток, Форумчане. Подскажите пожалуйста как решить данный вопрос. Имеется скрипт &quot;поделиться в соц. сетях&quot;...

Счетчик нажатий на кнопку
Вообщем решил сделать счётчик нажатия кнопок без ajax и js. Есть бд - statistic. C полями id, name, count. И есть &lt;form...

Подсчет нажатий на кнопку
Как реализовать подсчет нажатий на кнопку?

Подсчет нажатий на кнопку
Есть кнопка, при нажатии которой каждый раз увеличивается число,а есть та, которая уменьшает. Но почему-то увеличивает и уменьшает только...

подсчет нажатий на кнопку
Суть в кратце такова: Есть задание - сделать форму с кнопкой, да так, что-бы при нажатии на нее, она не только считала но и выводила на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru