Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Сессии или как-то иначе ???

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
ytrewq123
Отправлено: 19 Февраля, 2015 - 19:45:56
Post Id


Посетитель


Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2014  


Помог: 0 раз(а)




Здравствуйте!
У меня такой вопрос.
Имеется скрипт который выполняется через 10 минут. В чём вопрос. Как сделать чтобы он выводился через 10 минут. В течении которых челочек гуляет по сайту. То есть. Он нажал на кнопку на странице 1.пхп гуляет и сообщение вывелось когда он находится например на странице 11.пхп Насколько я понимаю надо сессию. Но не как не могу понять что должно быть значением сессии. Не подскажите пожалуйста.
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. echo <<<E
  5.  
  6.  
  7.  
  8.         <input type="button" name="pog" value="Запустить" onclick="on()">
  9.  
  10.  
  11. E;
  12.  
  13. echo <<< N
  14.        
  15.  
  16.  
  17.  
  18. <script>
  19.         function go() { alert('Прошло 10 минут.') }
  20.          
  21.         function on() {
  22.             timeoutId = setTimeout(go, "10000")
  23.         }
  24.          
  25.    
  26.  
  27.         </script>
  28. N;
  29.  
  30.  ?>
  31.  
  32.  
  33.  
  34.  
 
 Top
likvidator
Отправлено: 19 Февраля, 2015 - 20:56:52
Post Id


Посетитель


Покинул форум
Сообщений всего: 416
Дата рег-ции: Март 2012  


Помог: 4 раз(а)

[+]


1.php:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if(empty($_SESSION['timer'])){
  4. $_SESSION['timer']=time();
  5. }
  6. ?>
  7.  

2.php:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if(isset($_SESSION['timer']) AND (time()-$_SESSION['timer']) >=600){
  4. unset($_SESSION['timer']);
  5. echo "bla-bla-bla";
  6. }
  7. ?>
  8.  

(Отредактировано автором: 19 Февраля, 2015 - 21:05:51)

 
 Top
ytrewq123
Отправлено: 19 Февраля, 2015 - 21:22:32
Post Id


Посетитель


Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2014  


Помог: 0 раз(а)




Спасибо Вам.
Попробую. То есть в сессию закладываем время нажатие кнопки(Запуска скрипта). И потом его сравниваем с нужным числом. Я правильно понял?
Но я хотел бы уточнить. Я хотел бы что бы можно было запустить с любой страницы и выводился бы на странице на любой где человек в данный момент.
Поэтому, не надо ли мне написать эти два кода на всех страницах?

(Отредактировано автором: 19 Февраля, 2015 - 21:24:13)

 
 Top
likvidator
Отправлено: 19 Февраля, 2015 - 21:45:52
Post Id


Посетитель


Покинул форум
Сообщений всего: 416
Дата рег-ции: Март 2012  


Помог: 4 раз(а)

[+]


ytrewq123 пишет:
Поэтому, не надо ли мне написать эти два кода на всех страницах?

проще аяксом это дело наладить....(из расчета,что юзер может находится на странце в момент истечения этих 10 минут,или вообще все 10 никуда не лазить)
в шапке запиливаете:
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $("#div").load("script.php", function(status){
  3.          if(status == "error")
  4.              alert("Error ");
  5. $("#div").show('slow');
  6.      });
  7.  

CODE (html):
скопировать код в буфер обмена
  1. <div id="div" style="display:none">
  2. </div>

script.php:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if(empty($_SESSION['timer'])){
  4. $_SESSION['timer']=time();
  5. }else if((time()-$_SESSION['timer']) >=600){
  6. echo "bla-bla-bla";
  7. }
  8. ?>
  9.  

P/S 1) код писал тут,не тестил 2) JQUERY 3) Не профит 4) таймер не очищал,т.к. это может привести к повторным выводам сообщений

(Отредактировано автором: 19 Февраля, 2015 - 21:50:14)

 
 Top
DlTA
Отправлено: 19 Февраля, 2015 - 21:47:23
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




код выполнять нужно, а писать одно и тоже нет,
достаточно подключать нужный файл на необходимых страницах
(Добавление)
а как альтернативу можно использовать куки, результат по сути тотже
 
 Top
likvidator
Отправлено: 19 Февраля, 2015 - 21:56:31
Post Id


Посетитель


Покинул форум
Сообщений всего: 416
Дата рег-ции: Март 2012  


Помог: 4 раз(а)

[+]


вообще,для разгрузки и любителей извращений - можно ставить куку js'ом... и оттуда уже плясать
 
 Top
ytrewq123
Отправлено: 19 Февраля, 2015 - 21:58:32
Post Id


Посетитель


Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2014  


Помог: 0 раз(а)




Ясно. Понятно. Не аяксом не хочу. Постараюсь всё понять и внедрить это. Ну это ясно что заинклюдить везде где надо и уперэд. Ну посмотрим. Главное что показали мне в какую сторону рыть. Завтра поломаю голову, думаю и надеюсь получится. Если всё же нет. Напишу.
Куки то куки. Мне по сути всё равно. Главное чтобы можно включить везде и вывелся на странице где человек теперь. Весь вопрос был для меня что писать в сессию или куку.
Спасибо всем.
Буду рыть.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB