Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.09.2009, 16:36   #1
Blef
 
Регистрация: 29.08.2009
Сообщений: 9
По умолчанию АНОМАЛЬНЫЙ тайм аут!

Как сделать тай аут. Я тут немного по химичил с time(). Но что то не работает.

Код:

if (isset($_POST["submit"])) {


if (time() >= $timereset) // проверяеться тайм аут (если прошол) {
$userrow["random"] = rand(1, 50);

if ($userrow["random"] != 1) {
$timereset = (time()+10); //задаеться тайм аут
print = "Провал";

}
elseif ( $userrow["random"] == 1 ) {
$timereset = (time()+10); //задаеться тайм аут
print = "Успешно";
}
}


elseif ( time() < $timereset ) // проверяеться тайм аут (если не прошол!) {

print = "Ошибка тайм аута. Подожди еще";
}
}

Но почему то выполняеться только та чать где тайм аут прошол. Может есть другой способ зделать похожее или исправить это.

Буду очень благодарен.......
Blef вне форума Ответить с цитированием
Старый 03.09.2009, 16:55   #2
Metandrostenalon
Форумчанин
 
Регистрация: 03.04.2009
Сообщений: 108
По умолчанию

откуда берете $timereset? используйте куки или сессии $_SESSION['timereset']
php,javascript
Metandrostenalon вне форума Ответить с цитированием
Старый 03.09.2009, 16:56   #3
wall66
Участник клуба
 
Аватар для wall66
 
Регистрация: 04.10.2008
Сообщений: 1,485
По умолчанию

http://ru2.php.net/sleep
свободен...
wall66 вне форума Ответить с цитированием
Старый 04.09.2009, 23:06   #4
Blef
 
Регистрация: 29.08.2009
Сообщений: 9
По умолчанию

Metandrostenalon, задаеться в этом же коде.
$timereset = (time()+10); //задаеться тайм аут.

как бы к реальному времени прибавляеться 10сек (это тайм ресет) и если оно совпадает с реальным (if (time() >= $timereset)), то часть выполняеться.

Правильно придумал?
Blef вне форума Ответить с цитированием
Старый 05.09.2009, 06:37   #5
Metandrostenalon
Форумчанин
 
Регистрация: 03.04.2009
Сообщений: 108
По умолчанию

time() >= $timereset - вы сравниваете текущее время с неопределенной переменной, результат(true). К реальному времени вы можете прибавить только для текущего выполнения, поэтому вам следуют переменную $timereset сохранить либо на стороне клиента(COOKIE), либо сервера(SESSION)
php,javascript
Metandrostenalon вне форума Ответить с цитированием
Старый 05.09.2009, 21:53   #6
Blef
 
Регистрация: 29.08.2009
Сообщений: 9
По умолчанию

И как сделать такой фокус?
Blef вне форума Ответить с цитированием
Старый 07.09.2009, 08:01   #7
ГиТ
 
Регистрация: 03.09.2009
Сообщений: 5
По умолчанию

Blef, через куки так:
setcookie("timеreset", time()+10, [тут дата, до которой куки живут, можно поставить time()+3600]);

через сессию так:
$_SESSION["timereset"] = time()+10;
но сессия должна быть открыта (session_start) и при том открывается она до вывода какой бы то ни было информации, т.е. до всех print, echo и прочего.
и в эти х случаях Вы используете уже не $timereset, а либо $_COOKIE["timereset"], либо $_SESSION["timereset"] соответственно.

По-моему так, но если что - ногами не бейте.
[ подпись ]
ГиТ вне форума Ответить с цитированием
Старый 10.09.2009, 14:30   #8
SuBwooFer
Пользователь
 
Аватар для SuBwooFer
 
Регистрация: 28.08.2009
Сообщений: 28
По умолчанию

Для начала я бы посоветовал получше изучить коментарии т.к. у тебя фигурная скобка попала в комментарий !
if (time() >= $timereset) // проверяеться тайм аут (если прошол) {

Если делать, то примерно так

if (time() >= $timereset){ // проверяеться тайм аут (если прошол)

или так

if (time() >= $timereset) // проверяеться тайм аут (если прошол)
{
Using C++, C#, PHP, HTML, JavaScript, CSS, SQL.

Последний раз редактировалось SuBwooFer; 10.09.2009 в 14:32.
SuBwooFer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать тайм аут? Blef PHP 3 30.08.2009 16:19
Тайм аут между операциями sergiksergik Microsoft Office Excel 6 09.06.2009 23:51
Тайм аут для connect() 7KByte Общие вопросы C/C++ 1 29.05.2009 22:01
БД и пользователи. Реал-тайм. Ramires БД в Delphi 7 19.01.2009 10:40