Конструкция такого типа почему то не работает. Что я не правильно делаю?
<?php
if(time()-$_SESSION['time']>60)
{
Записываю данные в базу;
}
else
{
echo "Нельзя так часто отправлять сообщения";
}
?>
Спустя 1 минута, 35 секунд (30.03.2011 - 23:26) neadekvat написал(а):
В чем выражается то, что она не работает?
Правда, вопрос, от какого события там может пройти максимум 60 секунд?
Правда, вопрос, от какого события там может пройти максимум 60 секунд?
Спустя 5 минут, 45 секунд (30.03.2011 - 23:31) dzisay написал(а):
Не работает, потому что не зависимо от пройденного времени в любом случае происходит запись в базу.
Ну а в общем я пытаюсь реализовать защиту от частых отправок сообщений, которые заносятся в базу. Может посоветуете какой то другой способ? (Записывать в базу ip не вариант).
Ну а в общем я пытаюсь реализовать защиту от частых отправок сообщений, которые заносятся в базу. Может посоветуете какой то другой способ? (Записывать в базу ip не вариант).
Спустя 2 минуты, 51 секунда (30.03.2011 - 23:34) alex12060 написал(а):
<?php
if((time()-$_SESSION['time'])>60)
{
Записываю данные в базу;
}
else
{
echo "Нельзя так часто отправлять сообщения";
}
?>
Спустя 7 минут, 48 секунд (30.03.2011 - 23:42) dzisay написал(а):
alex12060
Почему то сообщения всё равно добавляются не зависимо от времени.
Почему то сообщения всё равно добавляются не зависимо от времени.
Спустя 2 минуты, 37 секунд (30.03.2011 - 23:45) alex12060 написал(а):
Покажи код, где ты присваиваешь $_SESSION['time'] значение.
Спустя 18 минут, 56 секунд (31.03.2011 - 00:04) dzisay написал(а):
При первой отправке сообщения. То есть:
<?php
if((time()-$_SESSION['time'])>60)
{
Записываю данные в базу;
session_start();
$_SESSION['time'] = time();
}
else
{
echo "Нельзя так часто отправлять сообщения";
}
?>
Спустя 8 минут, 16 секунд (31.03.2011 - 00:12) alex12060 написал(а):
<?php
session_start();
$_SESSION['time'] = !empty($_SESSION['time']) ? $_SESSION['time'] : 0;
if((time()-$_SESSION['time'])>60)
{
Записываю данные в базу;
$_SESSION['time'] = time();
}
else
{
echo "Нельзя так часто отправлять сообщения";
}
?>
Спустя 4 минуты, 59 секунд (31.03.2011 - 00:17) dzisay написал(а):
Работает спасибо огромное!
Спустя 20 минут, 13 секунд (31.03.2011 - 00:37) Trianon написал(а):
$_SESSION['time'] = time(); можно было бы присвоить независимо от ветви.
Чтоб неповадно щелкать было.
Чтоб неповадно щелкать было.
Спустя 2 минуты, 17 секунд (31.03.2011 - 00:39) alex12060 написал(а):
Trianon
Подробней пожалуйста)
Подробней пожалуйста)
Спустя 2 минуты, 26 секунд (31.03.2011 - 00:42) Trianon написал(а):
<?php
session_start();
$_SESSION['time'] = 0+@$_SESSION['time'];
if((time()-$_SESSION['time'])>60)
echo "Записываю данные в базу";
else
echo "Нельзя так часто отправлять сообщения";
$_SESSION['time'] = time();