[Image] Воскресенье, 22.12.2024, 18:08 [Image]
SEO, технологии, игры, IT новости
[Image] Главная Регистрация Вход [Image]
[Image] Приветствую Вас, Гость · RSS [Image]
Меню сайта

Форма входа
 Блог
Главная » 2011 » Январь » 29 » Регистрация сеансовых переменных
00:11
Регистрация сеансовых переменных

Существуют два метода регистрации сеансовой переменной. Первый — воспользоваться функцией session_register (). Синтаксис этой функции имеет вид:

session_register($var_name [, $next_varname [, ...]])

Параметр $var_name (как и другие дополнительные параметры) является строкой (или массивом строк), представляющей переменную для сохранения в сеансе. Эта функция возвращает true, если все используемые переменные были успешно сохранены, и false в противном случае.
Поскольку функция session_register () начинает сеанс, даже если он еще не существует, имейте в виду, что все вызовы session_register () должны быть завершены до того, как будут посланы какие-нибудь данные в браузер. Таким образом, несмотря на то, что можно начать сеанс с помощью этой функции, лучше делать это вручную с помощью функции session_start (). При работе с сеансовыми переменными нужно учитывать несколько обстоятельств. Одна из наиболее общих ошибок при работе с PHP-сеансами — считать, что параметры, переданные в сеанс, являются актуальными переменными, предназначенными для сохранения. Функция s e s s i o n r e g i s t e r ()
принимает только строки, представляющие имена переменных для сохранения в се-
ансе. Сказанное хорошо демонстрируется в листинге 6.7.

Листинг 6.7. Использование функции session_register ()
$myvar = "Моя переменная для сохранения в сеансе";
$myvar_name = "myvar";
session_register($myvar_name);
?>

Когда этот код выполнится, что сохранится в сеансе? Обратите внимание, что зарегистрирована будет переменная $myvar, а не $myvar_name. Если это обстоятельство вас смущает, объяснения будут чуть позже. Было создано две переменных: $myvar —текущее значение, которое хотелось бы сохранить в сеансе, и $myvar_name. Когда session_register () выполнится, РНР попытается сохранить в сеансе переменную, имя которой хранится в переменной $myvar_name (а не саму переменную $myvar_name). Так как эта переменная имеет значение myvar, в сеансе будет сохранена переменная $myvar. Для тех, кто не использует функцию session_register () (или не может использовать, если директива register_globals отключена), в РНР определен суперглобальный массив $_SESSION. В течение любого сеанса можно использовать переменную $_SESSION точно так же, как функцию session_register (). Например, если требуется сохранить в сеансе содержимое $myvar из предыдущего примера, используя суперглобальный метод, поступите следующим образом: $_SESSION [ ''myvar'] = $myvar;
При использовании такого метода работы с сеансовыми переменными нет необходимости вызывать функцию session_register (). В отличие от метода с функцией session_register (), при сохранении переменной в суперглобальном массиве $_SESSION сеанс автоматически не создается. Поэтому важно явно начать сеанс, перед тем как работать с $_SESSION.


Категория: Все о PHP | Просмотров: 2233 | Добавил: witkom8382 | Рейтинг: 0.0/0
Всего комментариев: 2
2 rouppotohus  
0
Наконец-то блог ожил, это очень радует!
Внове позволил себе электронные книги

1 Liska  
0
Путешествовал в Интернете и попал сюда.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Copyright MyCorp © 2024
Категории
Оптимизация сайта [592]
Создание сайтов [355]
Заработать в интернете [508]
Технологии [48]
Полезное [392]
Услуги и сервисы [317]
Автоблог [105]
Скрипты для Ucoz [39]
Движок на сайт [10]
Все о Joomla и Drupal [20]
Все о PHP [91]
Поиск
Пользовательский поиск
Статистика


Онлайн всего: 3
Гостей: 3
Пользователей: 0
Seo сайт, технологии продвижения, мета теги, оптимизация сайтов, новости сео, Скрипты, Ucoz

Рейтинг@Mail.ru