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]   

> Без описания
jfr
Отправлено: 24 Марта, 2010 - 19:01:57
Post Id



Посетитель


Покинул форум
Сообщений всего: 332
Дата рег-ции: Март 2010  
Откуда: Таджикистан, Худжанд


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

[+]


странно, но почему всегда у меня выполняется условие !isset($f['start']), даже после повторного входа на страницу index.php, тоесть результат всегда "Добро пожаловать на наш сайт!" ?
index.php
------------
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. include("d.php");
  4.    if (!isset($f['start'])) {
  5.    $f['start']=time();
  6.       echo "Добро пожаловать на наш сайт!";
  7.    }
  8.    else {
  9.      echo "Вы впервые пришли на наш сайт ".(time()-$f['start'])." секунд назад";
  10.      }
  11.   ?>
  12.  



d.php
----------

(Отредактировано автором: 24 Марта, 2010 - 19:11:30)

 
 Top
kroks
Отправлено: 24 Марта, 2010 - 19:05:58
Post Id



Новичок


Покинул форум
Сообщений всего: 42
Дата рег-ции: Янв. 2010  
Откуда: Россия, Белгород


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

[+]



может

(Добавление)
и мне кажется что d.php должен выглядеть как
 
 Top
jfr
Отправлено: 24 Марта, 2010 - 19:15:06
Post Id



Посетитель


Покинул форум
Сообщений всего: 332
Дата рег-ции: Март 2010  
Откуда: Таджикистан, Худжанд


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

[+]


Так тоже не работает, странно!
index.php
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. include("d.php");
  3.    if (!isset($f)) {
  4.    $f=time();
  5.       echo "Добро пожаловать на наш сайт!";
  6.    }
  7.    else {
  8.      echo "Вы впервые пришли на наш сайт ".(time()-$f)." секунд назад";
  9.      }
  10.   ?>


d.php
 
 Top
kroks
Отправлено: 24 Марта, 2010 - 19:18:46
Post Id



Новичок


Покинул форум
Сообщений всего: 42
Дата рег-ции: Янв. 2010  
Откуда: Россия, Белгород


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

[+]


Я бы на твоем месте проще сделал
PHP:
скопировать код в буфер обмена
  1. if (!isset($_SESSION['start'])) {
  2.         $_SESSION['start']=time();
  3.         echo "Добро пожаловать на наш сайт!";
  4. }
  5. else {
  6.         echo "Вы впервые пришли на наш сайт ".($_SESSION['start']-time())." секунд назад";
  7. }

(Отредактировано автором: 24 Марта, 2010 - 19:19:23)

 
 Top
jfr
Отправлено: 24 Марта, 2010 - 19:29:48
Post Id



Посетитель


Покинул форум
Сообщений всего: 332
Дата рег-ции: Март 2010  
Откуда: Таджикистан, Худжанд


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

[+]


Kroks, впринципе мой скрипт тоже должен работать, почему не работает? твой скрипт постоянно показывает время Улыбка , тоесть сразу показывает 'вы пришли 0 секунд назад'
 
 Top
kroks
Отправлено: 24 Марта, 2010 - 19:33:02
Post Id



Новичок


Покинул форум
Сообщений всего: 42
Дата рег-ции: Янв. 2010  
Откуда: Россия, Белгород


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

[+]


да? странно. Ты сесси не забывай удалять. Я оперу юзаю, там F12>настройки для сайта>cookies и соответственно удалить PHPSESSID
 
 Top
jfr
Отправлено: 24 Марта, 2010 - 19:42:00
Post Id



Посетитель


Покинул форум
Сообщений всего: 332
Дата рег-ции: Март 2010  
Откуда: Таджикистан, Худжанд


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

[+]


Kroks, скрипт работает твой, но мой скрипт с использованием session_register и include как-то не работает...

(Отредактировано автором: 24 Марта, 2010 - 20:02:45)

 
 Top
Stierus Супермодератор
Отправлено: 25 Марта, 2010 - 09:36:05
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


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




Цитата:
Kroks, скрипт работает твой, но мой скрипт с использованием session_register и include как-то не работает...
так он и не должен работать.
1. session_register("f"); создает переменную $_SESSION['f'] , причем пустую ... если уж и полез ты в эти архивы древности, использовал бы session_is_registered для проверки, почему ты смотришь if (!isset($f['start'])) - мне вообще не понятно, откуда ты это взял ?

2. Не используй session_register, в php5 ее оставили лишь для совместимости с php4, в следующих версиях этой функции уже не будет, учись сразу писать нормально - используй $_SESSION
 
My status
 Top
JustUserR
Отправлено: 25 Марта, 2010 - 14:48:27
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


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




Stierus пишет:
session_register("f"); создает переменную $_SESSION['f']
Вроде бы эта устаревшая функция создает переменную прямо в глобальной области видимости


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
jfr
Отправлено: 26 Марта, 2010 - 20:02:55
Post Id



Посетитель


Покинул форум
Сообщений всего: 332
Дата рег-ции: Март 2010  
Откуда: Таджикистан, Худжанд


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

[+]


какая бы она устаревшая бы ни была, она ошибку не выдает, только неправильный результат выводит, а почему так?
 
 Top
JustUserR
Отправлено: 27 Марта, 2010 - 12:39:04
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


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




jfr пишет:
Какая бы она устаревшая бы ни была, она ошибку не выдает, только неправильный результат выводит, а почему так?
Вообще устаревшие функции ошибок не выдают иначе бы их убрали - но они могут работаь не совсем аналогично новой функции (И выдавать предупрежнеия но только при определенных условиях Улыбка
Чтоб работал ваш вариант в PHP5 необходимо включить regsiter_globals или на обработчик включения сессии поставить функцию которая будет связаывать переменные сесии с соответствующими глобальными переменными


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB