X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Голосование
dimjan4
dimjan4
Topic Starter сообщение 31.10.2008, 13:59; Ответить: dimjan4
Сообщение #1


Мне надо вставить такой скрипт, который бы разрешал голосовать только 1 раз в 24 часа! Вот код html страницы:
<html>
<head>
<title>
</title>
</head>
<body>
<form method="post" action="vote.php">
<table border="2" cellspacing="0" cellpadding="3" bordercolor="#336699">
<tr><td>
<table border="0">
<tr><td bgcolor="#336699" font color="white">Вопрос</font></td></tr>
<tr><td><input type="radio" name="answer" value="1">1</td></tr>
<tr><td><input type="radio" name="answer" value="2">2</td></tr>
<tr><td><input type="radio" name="answer" value="3">3</td></tr>
<tr><td><input type="radio" name="answer" value="4">4</td></tr>
</tr>
<tr><td><input type="submit" name="vote" value="Голосовать"></td>
</tr>
<tr><td><input type="submit" name="result" value="Результаты"></td>
</tr>
</table></td></tr></table></form>
</body>
</html>

Когда вы нажимаете на ссылку "голосовать" , выскакивало бы окно, где написанно - Вы можете голосовать только один раз в сутки.:dolbit:
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
pomp
pomp
сообщение 31.10.2008, 14:12; Ответить: pomp
Сообщение #2


dimjan4 а где же код файла vote.php???
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dimjan4
dimjan4
Topic Starter сообщение 31.10.2008, 14:18; Ответить: dimjan4
Сообщение #3


Вот :
vote.txt
Результаты
0
0
0
0

vote.php
[php]<?
$file = "vote.txt"; //result
$data = file($file);
$i = 1;

//kolicestvo strok
$qty = count($data);
$n = 0;

while ($i <= $qty);
$data [$i] = trim(str_replace("\n" , "" , $data[$i]));
$n = $n + $data[$i]
$i++;
endwhile;

if ($answer ! = "") {
echo "<br>Спасибо!";
$data[answer]++; $n++;

$res ="Результаты \n".$data[1]."\n".$data[2]."\n".$data[3]."\n".$data[4];
$fp = @fopen ($file, "W");

if ($fp) {$counter = fputs ($fp, $res); fclose ($fp); }
else {echo "Ошибка записи в файл";}

}else {echo "<br>Результаты голосования";}

echo "<br>1-<b>".$data[1]."</b>";
echo "<br>2-<b>".$data[2]."</b>";
echo "<br>3-<b>".$data[3]."</b>";
echo "<br>4-<b>".$data[4]."</b>";
echo "<br><br>Всего олосов: ".$n;

?>[/php]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dimjan4
dimjan4
Topic Starter сообщение 31.10.2008, 14:21; Ответить: dimjan4
Сообщение #4


Я думал, что можно сделать так, чтобы при нажатии на кнопку "Голосовать " данные не сразу бы попадали в vote.php, а в скрипт проверки и только потом в vote.php...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Webmaster_hb
Webmaster_hb
сообщение 31.10.2008, 14:27; Ответить: Webmaster_hb
Сообщение #5


все можно сделат в файле vote
но тут уж надо определиться... 100% защиты все равно нет
1. самый простой способ, при сохранении рузультатов, устанавливать пользователю файл cookies с пометкой что он проголосовал
и проверять ее каждый раз при обработке файла vote
2. записывать в свои результаты данные пользователя - IP адрес и дату голосования
и при обработке данных проверять был ли этот IP адрес в списках за такую дату

но имхо работать в таком случае с текстовым файлом для результатов не удобно
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dimjan4
dimjan4
Topic Starter сообщение 31.10.2008, 14:29; Ответить: dimjan4
Сообщение #6


Мне нравится больше 2 вариант...
записывать в свои результаты данные пользователя - IP адрес и дату голосования
и при обработке данных проверять был ли этот IP адрес в списках за такую дату

Это получается, что надо сделать ещё одну базу?? Наподобие vote.txt??
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Webmaster_hb
Webmaster_hb
сообщение 31.10.2008, 14:41; Ответить: Webmaster_hb
Сообщение #7


желательно записывать в ту же строчку
а можно вести отдельный файл и проверку делать только по нему
как кому больше нравится

но я бы сохранял это все в базу, в той же строке, вопросы по поиску свелись бы к минимуму кода

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Голосование для сайта звёздочками.
0 SOFMACH 3417 19.2.2015, 5:56
автор: -SOFMACH-
Открытая тема (нет новых ответов) Онлайн голосование с установленным смс биллингом
0 a13-08 1572 14.3.2012, 18:17
автор: a13-08
Опрос (нет новых голосов) Опрос: ГОЛОСОВАНИЕ на конкурс – лучший коллаж (мэтт)
на кону 100$
107 majekako 22454 4.2.2010, 11:29
автор: Web-Dreamer
Открытая тема (нет новых ответов) Как написать Голосование и поиск по сайту на java
3 tux_hb 10747 10.5.2009, 16:31
автор: -Webmaster-


 



RSS Текстовая версия Сейчас: 20.4.2024, 17:01
Дизайн