Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Рандомный выбор через определенное время, например через 10-15 мин 
:(
    Опции темы
-=Ustas=-
Дата 30.9.2005, 00:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



Мое почтение всем!
Скажите, плз. Допустим, у меня есть некоторый массив, элемент которого выбирается рендомно, ессно при каждом обновлении страницы. Например:
Код

$rand       = mt_rand(min, max);
$element = $myArray[$rand];

Теперь, собсна, сама проблема. Мне надо сделать так, если пользователь зашел на страницу, этот рендом сработал, затем если он в течении 10 минут будет обновлять страницу, то это рендомное значение оставалось неизменным. Вот. А если он после истечения 10 минут обновит страницу, то уже, соответственно, рендом сработает и точно также на протяжении 10 минут будет уже новое значение, и так далее... Чёй-то я вобще не могу догнать, точнее могу, но смутно пока вижу. Мне смотреть в сторону сессий и времени их жизни? Или есть более логичный подход?


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Mal Hack
Дата 30.9.2005, 00:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Да пиши пустую куку на 10 минут и не парься smile
PM ICQ   Вверх
AntonioBanderaz
Дата 30.9.2005, 00:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Velichko Anton
**


Профиль
Группа: Участник
Сообщений: 851
Регистрация: 28.4.2005
Где: Санкт-Петербург

Репутация: 2
Всего: 18



Что-то вроде
Код

$_SESSION['rnd'] = array("time"=>0,"Value"=>0);
function setRND($min,$max) {
$time=mktime(gmdate('H'),gmdate('i'),gmdate('s'),gmdate('m'),gmdate('d'),gmdate('Y'));
if($time +600 < $_SESSION['rnd']['time']) {
    $_SESSION['rnd']['time'] = $time;
    $_SESSION['rnd']['Value'] = mt_rand($min,$max);
    return $_SESSION['rnd']['Value'];
}
return $_SESSION['rnd']['Value'];
}



--------------------
ГЫ... 
PM MAIL ICQ   Вверх
-=Ustas=-
Дата 30.9.2005, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



Цитата(Mal @ 30.9.2005, 00:18)
Да пиши пустую куку на 10 минут и не парься smile

Mal Hack, с сессиями по-моему надежнее, чем с куками, ИМХО.
AntonioBanderaz, твой код не рабочий, но спасибо, я твою идею понял и переписал под себя. Мож кому пригодиться:
Код

<?php

session_start();

function SetRandom($min, $max, $second)
{
    if (!isset($_SESSION['rand'])) {
        $_SESSION['rand'] = array("Time" => 0, "Value" => 0);
    }
    $time = mktime(gmdate('H'), gmdate('i'), gmdate('s'), gmdate('m'), gmdate('d'), gmdate('Y'));
    if ($_SESSION['rand']['Time'] == "0") {
        $_SESSION['rand']['Time']  = $time + (int)$second;
        $_SESSION['rand']['Value'] = mt_rand((int)$min, (int)$max);
    } else {
        if($time > $_SESSION['rand']['Time']) {
            $_SESSION['rand']['Time'] = $time + (int)$second;
            $_SESSION['rand']['Value'] = mt_rand((int)$min, (int)$max);

            return $_SESSION['rand']['Value'];
        }
    }
    return $_SESSION['rand']['Value'];
}

$randValue = SetRandom(0, 50, 10);

?>


Это сообщение отредактировал(а) -=Ustas=- - 30.9.2005, 11:03


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Mal Hack
Дата 30.9.2005, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата
Mal Hack, с сессиями по-моему надежнее, чем с куками, ИМХО.

Пофиг. Хошь в сессию пиши... С кукой проще. Есть - есть, нету - нет.
PM ICQ   Вверх
-=Ustas=-
Дата 30.9.2005, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



Цитата(Mal @ 30.9.2005, 17:06)
Пофиг.

Ну зачем же так?! smile Насколько я знаю, куки хранятся на стороне клиента, а сессии создаются на серваке. Или я не прав?


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Mal Hack
Дата 30.9.2005, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата
Ну зачем же так?! smile Насколько я знаю, куки хранятся на стороне клиента, а сессии создаются на серваке. Или я не прав?

ИД сессии пишется в куку.. Т.е. у тебя не данные хранятся у пользователя, а как бы ссылка на них...
PM ICQ   Вверх
AntonioBanderaz
Дата 1.10.2005, 01:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Velichko Anton
**


Профиль
Группа: Участник
Сообщений: 851
Регистрация: 28.4.2005
Где: Санкт-Петербург

Репутация: 2
Всего: 18



Цитата
AntonioBanderaz, твой код не рабочий, но спасибо, я твою идею понял и переписал под себя

Извини, я так набросал...

Это сообщение отредактировал(а) AntonioBanderaz - 1.10.2005, 01:10


--------------------
ГЫ... 
PM MAIL ICQ   Вверх
-=Ustas=-
Дата 3.10.2005, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



Цитата(AntonioBanderaz @ 1.10.2005, 01:06)
Извини, я так набросал...

Та ладно, чё там... Главное идея!!! smile


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0534 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.