Вопрос № 133734: Здравствуйте уважаемые эксперты! Подскажите, пожалуйста, достаточно ли строчки register_globals = On в php.ini, что бы работали глобальные переменные? Сессию открываю так:
Работать не хочет :(...Вопрос № 133817: Здравствуйте!
Чем и как целесообразнее вычислять время выполнения сценария и его частей?...
Вопрос № 133.734
Здравствуйте уважаемые эксперты! Подскажите, пожалуйста, достаточно ли строчки register_globals = On в php.ini, что бы работали глобальные переменные? Сессию открываю так:
Работать не хочет :(
Приложение:
Отправлен: 23.04.2008, 09:37
Вопрос задала: Олеся (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 2)
Так может подойти, но вам рекомендую
session_start();
print($_SESSION[name]);
$_SESSION[name]="тест"
ssesion_write_close();
Попитайтесь два варианта один из них точно подойдет;
Откройте и обновите, и увидите результат.
Ответ отправил: Tmishka (статус: 1-ый класс)
Ответ отправлен: 23.04.2008, 10:03 Оценка за ответ: 4 Комментарий оценки: Что то как то у меня оба варианта не идут. По первому то я так и делала, а вот второй как то мне совсем не понятен. Но попробовала и его тоже не работает.
Отвечает: Jan
Здравствуйте, Олеся!
register_globals = On - никак не влияет на открытие сессии, посмотрите в php.ini такие настройки как session.use_cookies = 1, то есть при обращении к данным сессии будут использоваться cookies, а значит они должны быть включены в браузере, при значении параметра 0 идентификатор сессии будет передаваться как переменная GET и обрабатываться автоматически(это не рекомендуется). Так же у меня возникала проблема из-за отсутствия пути сохранения сессий, выполните функцию phpinfo() и найдите значение session.save_path
(так же указывается в файле php.ini), если указан конкретный путь, то папка должна существовать(почему-то у меня не создавал php эту папку автоматически).
Сессию вы открываете правильно, session_start(); - нужная функция, если session.auto_start = 0, если это значение = 1 то использовать её не обязательно.
что касается register_globals, то включать это значение не рекомендуется вплоть до запрета, это связано с огромной уязвимостью, и лучше сразу привыкать к отключенному значению.
Функция session_register(...) устарела, к переменным сессии, как уже упмяналось обращаются через ассоциированный массив $_SESSION['имя переменной'], при чём регистрировать ничего не надо, работает простое приравнивание.
Обычно при возможном первом обращении используется так: if(!isset($_SESSION['log'])) $_SESSION['log']=$login;
В приложении мои настройки php.ini по сессиям, по крайней мере то что я считаю там особо важным в работе. Надеюсь я смог вам помочь. )))
Приложение:
Ответ отправил: Jan (статус: 2-ой класс)
Ответ отправлен: 23.04.2008, 14:29 Оценка за ответ: 5 Комментарий оценки: спасибо
Вопрос № 133.817
Здравствуйте!
Чем и как целесообразнее вычислять время выполнения сценария и его частей?
Отвечает: Иван Сергеевич
Здравствуйте, Прим Палвер!
Почти правильный ход мысли в мини-форуме :) Но в 5й версии php появилась возможность сделать все проще.
Стандартный пример в приложении.
Пояснения:
1. microtime() - возвращает Unix-время (количество микросекунд, прошедших с 00:00:00 1 января 1970 года). Необязательный параметр bool get_as_float (в примере поставлен равным 1) указывает, что функция вернет float-значение в секундах (у меня код примера выполнился за 0.0139439105988 секунды).
2. Переменную $time_start ставим непосредственно перед блоком сценария, $time_end - сразу после него.
Приложение:
Ответ отправил: Иван Сергеевич (статус: 9-ый класс)
Ответ отправлен: 23.04.2008, 17:31 Оценка за ответ: 5 Комментарий оценки: Спасибо!
Т.е. единица в параметре преобразует ответ в одно число - десятичную дробь в секундах?
Отвечает: Tmishka
Здравствуйте, Прим Палвер!
Вот мой вариант исполнения, использовал микротайм.
Приложение:
Ответ отправил: Tmishka (статус: 1-ый класс)
Ответ отправлен: 23.04.2008, 17:40 Оценка за ответ: 5 Комментарий оценки: Спасибо за участие :)
Предыдущий ответ более изящный. Советую.