<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>PHP программист &#187; PHP</title>
	<atom:link href="http://blog.xyz.net.ua/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.xyz.net.ua</link>
	<description>блог программиста</description>
	<lastBuildDate>Fri, 02 Dec 2011 10:45:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Автоматическое создание субдоменов в Apache2</title>
		<link>http://blog.xyz.net.ua/2011/01/02/apache2_mod-rewrite_ubuntu_subdomens/</link>
		<comments>http://blog.xyz.net.ua/2011/01/02/apache2_mod-rewrite_ubuntu_subdomens/#comments</comments>
		<pubDate>Sun, 02 Jan 2011 11:37:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.xyz.net.ua/?p=120</guid>
		<description><![CDATA[Мне приходится работать с движками многих сайтов, постоянно появляются для обслуживания новые, и уходят в архивное забвение старые. Поэтому часто добавляются новые блоки виртуалхостов в конфиге Апача, и сам конфиг уже изрядно раздулся. Появилась минутка свободного времени, и я решил навести порядок в этом безобразии. Захотелось сделать так, чтобы для добавления нового сайта, было достаточно [...]]]></description>
			<content:encoded><![CDATA[<p>Мне приходится работать с движками многих сайтов, постоянно появляются для обслуживания новые, и уходят в архивное забвение старые. Поэтому часто добавляются новые блоки виртуалхостов в конфиге Апача, и сам конфиг уже изрядно раздулся.<br />
Появилась минутка свободного времени, и я решил навести порядок в этом безобразии. Захотелось сделать так, чтобы для добавления нового сайта, было достаточно создать директорию, и прописать новый хост в <strong>/etc/hosts</strong>, а не повторять каждый раз монотонную операцию добавления и редактирования блоков <strong>&lt;VirtualHost&gt;</strong>.<br />
По сути теперь у меня есть основной домен, и к нему автоматически добавляются субдомены, по которым и грузятся разные сайты с локальной машины.</p>
<p><span id="more-120"></span></p>
<p>Для начала, конечно, необходимо установить сам Апач. (На моём рабочем компьютере стоит Ubuntu 10.10, поэтому весь процесс рассказываю для него).</p>
<blockquote><p><code>sudo apt-get install apache2</code></p>
</blockquote>
<p>Далее подключаем <strong>mod_rewrite</strong> (Он понадобится для автоматического создания субдоменов).</p>
<blockquote><p><code>sudo a2enmod rewrite</code></p>
</blockquote>
<p>Эта команда, по сути, создает символическую ссылку в <strong>/etc/apache2/mods-enabled/</strong> на <strong>/etc/apache2/mods-available/rewrite.load</strong>, поэтому сделать это можно и любым другим способом.<br />
Перезагружаем Апач.</p>
<blockquote><p><code>sudo /etc/init.d/apache2 restart</code></p>
</blockquote>
<p>Итак, мы имеем установленный Apache2 с mod_rewrite. Теперь надо сконфигурировать его.<br />
Для начала выбираем себе директорию, где будут лежать наши папки с сайтами.<br />
Пускай это будет <strong>/www</strong>.</p>
<p>Далее открываем <strong>/etc/apache2/sites-available/default</strong></p>
<blockquote><p><code>sudo mcedit /etc/apache2/sites-available/default</code></p>
</blockquote>
<p>Куда пишем что-то типа:</p>
<blockquote><p><code>&lt;VirtualHost *:80&gt;<br />
ServerName xyz<br />
DocumentRoot /www<br />
ServerAlias *.xyz<br />
RewriteEngine On<br />
RewriteCond %{HTTP_HOST} !^www.xyz$<br />
RewriteCond %{HTTP_HOST} ^((.*)\.)xyz$<br />
RewriteRule ^/(.*) /%2/$1</p>
<p>&lt;Directory /&gt;<br />
Options FollowSymLinks<br />
AllowOverride None<br />
&lt;/Directory&gt;<br />
&lt;Directory /home/petka/apache/&gt;<br />
Options Indexes FollowSymLinks MultiViews<br />
AllowOverride None<br />
Order allow,deny<br />
allow from all<br />
&lt;/Directory&gt;<br />
&lt;/VirtualHost&gt;</code></p></blockquote>
<p>где, <strong>xyz</strong> &#8212; это мой основной домен. Его же и надо прописать в <strong>/etc/hosts</strong></p>
<blockquote><p><code>127.0.0.1	xyz</code></p>
</blockquote>
<p>Перезагружаем еще раз веб-сервер</p>
<blockquote><p><code>sudo /etc/init.d/apache2 restart</code></p>
</blockquote>
<p>и пробуем в любом браузере открыть <strong>http://xyz/</strong>. У нас должен открыться листинг директории<strong> /www</strong>.</p>
<p>Теперь, чтобы добавить еще один сайт на наш локальный сервер надо создать в директории <strong>/www</strong> любую другую директорию, например, <strong>/www/site1</strong>, дописать домен <strong>site1.xyz</strong> в <strong>/etc/hosts</strong></p>
<blockquote><p><code>127.0.0.1	xyz site1.xyz</code></p>
</blockquote>
<p>и теперь в браузере должен загрузиться наш сайт по адресу <strong>http://site1.xyz/</strong>.</p>
<p>Вот и всё.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.xyz.net.ua/2011/01/02/apache2_mod-rewrite_ubuntu_subdomens/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Проверка URL на валидность (preg_match) в PHP</title>
		<link>http://blog.xyz.net.ua/2010/04/15/url_validation_preg_mtch/</link>
		<comments>http://blog.xyz.net.ua/2010/04/15/url_validation_preg_mtch/#comments</comments>
		<pubDate>Thu, 15 Apr 2010 06:46:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[PCRE]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.xyz.net.ua/?p=97</guid>
		<description><![CDATA[Нужен был рег для проверки корректности введенного URL. Для примера был взят один отсюда, но немного дописан. Добавлена возможность принимать урлы с указанием порта, а также разрешено использование в адресе (не домене) символов &#171;()*&#187; (причем это позволено RFC 1738) и кириллицы (да, появилась нужда принимать и обрабатывать такие адреса без предварительного rawurlencode()). {code type=PHP} $file_now [...]]]></description>
			<content:encoded><![CDATA[<p>Нужен был рег для проверки корректности введенного URL. Для примера был взят один <a href="http://htmlweb.ru/php/example/preg.php" target="_blank">отсюда</a>, но немного дописан.<br />
Добавлена возможность принимать урлы с указанием порта, а также разрешено использование в  адресе (не домене) символов &laquo;()*&raquo; (<em>причем это позволено RFC 1738</em>) и кириллицы (да, появилась нужда принимать и обрабатывать такие адреса без предварительного<em> rawurlencode()</em>). </p>
<p><span id="more-97"></span><br />
<code>{code type=PHP}</p>
<p>$file_now = "http://www.domain.net.ua:8080/48649c6575cab899e6841aea6563e72a/down/3878/Abcde(FGH*).avi#dfbdf-dfb";</p>
<p>if (preg_match("~^(?:(?:https?|ftp|telnet)://(?:[a-z0-9_-]{1,32}".<br />
   "(?::[a-z0-9_-]{1,32})?@)?)?(?:(?:[a-z0-9-]{1,128}\.)+(?:com|net|".<br />
   "org|mil|edu|arpa|gov|biz|info|aero|inc|name|[a-z]{2})|(?!0)(?:(?".<br />
   "!0[^.]|255)[0-9]{1,3}\.){3}(?!0|255)[0-9]{1,3})(:[0-9]{1,5})?(?:/[а-яa-z0-9.,_@%\(\)\*&#038;".<br />
   "?+=\~/-]*)?(?:#[^ '\"&#038;<>]*)?$~i", $file_now))<br />
   		 print "Correct!";<br />
else print "Incorrect...";<br />
{/code}</code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.xyz.net.ua/2010/04/15/url_validation_preg_mtch/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Excel-файл из PHP</title>
		<link>http://blog.xyz.net.ua/2009/05/08/php_to_excel/</link>
		<comments>http://blog.xyz.net.ua/2009/05/08/php_to_excel/#comments</comments>
		<pubDate>Fri, 08 May 2009 06:27:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.xyz.net.ua/?p=36</guid>
		<description><![CDATA[Появилась задача создания простых таблиц excel налету. В принципе, если поискть в сети, то можно найти ряд готовых инструментов для создания *.xls файлов. Делюсь с вами коротким обзором. Spreadsheet_Excel_Writer &#8212; целый пакет для решения подобных задач. Но необходимо наличие PEAR на сервере, а в подавляющем большинстве виртуальных хостингов PEAR не подключен. Конечно, можно собрать все [...]]]></description>
			<content:encoded><![CDATA[<p>Появилась задача создания простых таблиц excel налету.<br />
В принципе, если поискть в сети, то можно найти ряд готовых инструментов для создания *.xls файлов.<br />
Делюсь с вами коротким обзором.</p>
<p><span id="more-36"></span><br />
<a href="http://pear.php.net/package/Spreadsheet_Excel_Writer"  target="_blank">Spreadsheet_Excel_Writer</a> &#8212; целый пакет для решения подобных задач. Но необходимо наличие PEAR на сервере, а в подавляющем большинстве виртуальных хостингов PEAR не подключен. Конечно, можно собрать все файлы пакета в одном месте, поиграться с путями, но в моем случае овчинка не стоит выделки.</p>
<p>Можно генерить xls-файлы используя COM-объекты (пример: <a href="http://www.spravkaweb.ru/php/sovet/excelcom" target="_blank">http://www.spravkaweb.ru/php/sovet/excelcom</a>), но COM &#8212; это это прерогатива windows-серверов, поэтому и этот вариант отпадает.</p>
<p><a href="http://sourceforge.net/projects/psxlsgen/" target="_blank">PHP Simple Excel File Generator</a> &#8212; рабочее название <strong>psxlsgen</strong>. Класс для генерирования excel-файлов. Честно говорю, что не успел попробовать его в работе. Может когда-нибудь придется и его поковырять.</p>
<p>Ну и конечно можно поискать другие классы для решения нашей задачи на <a href="http://www.phpclasses.org/" target="_blank">http://www.phpclasses.org/</a> по ключам <a  target="_blank" href="http://www.google.com/custom?domains=www.phpclasses.org&#038;q=excel+php&#038;sa=Search&#038;sitesearch=www.phpclasses.org&#038;client=pub-2951707118576741&#038;forid=1&#038;channel=5742870948&#038;ie=ISO-8859-1&#038;oe=ISO-8859-1&#038;cof=GALT%3A%23663399%3BGL%3A1%3BDIV%3A%23222222%3BVLC%3A663399%3BAH%3Acenter%3BBGC%3A%23e4e4e8%3BLBGC%3A%23e4e4e8%3BALC%3A0000FF%3BLC%3A0000FF%3BT%3A000000%3BGFNT%3A0000FF%3BGIMP%3A0000FF%3BLH%3A50%3BLW%3A256%3BL%3Ahttp%3A%2F%2Ffiles.phpclasses.org%2Fgraphics%2Fgooglesearch.gif%3BS%3Ahttp%3A%2F%2Fwww.phpclasses.org%2Fsearch.html%3BFORID%3A1%3B&#038;hl=en">excel php</a></p>
<p>Но для решения моей задачи не пригодилось ничего из описанного мной выше. Ведь excel запросто понимает html-код. Поэтому мне для создания простого списка элементов в excel достаточно было сгенерировать html-страницу c отправкой соответствующих заголовков.</p>
<p><strong>Пример:</strong></p>
<p><code>{code type=PHP}<br />
header("Content-Type: application/vnd.ms-excel");<br />
header("Content-Disposition: attachment; filename=file.xls");<br />
header("Content-Transfer-Encoding: binary");</p>
<p>print "</p>
<table border=\"1\">
<tr>
<td width=\"200\"><b>Заголовок 1</b></td>
<td><b>Заголовок 1</b></td>
</tr>
<tr>
<td>Элемент 1</td>
<td>Описание 1</td>
</tr>
<tr>
<td>Элемент 2</td>
<td>Описание 2</td>
</tr>
</table>
<p>";<br />
{/code}</code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.xyz.net.ua/2009/05/08/php_to_excel/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Основы работы с сессиями</title>
		<link>http://blog.xyz.net.ua/2009/05/06/php_sessions/</link>
		<comments>http://blog.xyz.net.ua/2009/05/06/php_sessions/#comments</comments>
		<pubDate>Wed, 06 May 2009 14:08:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.xyz.net.ua/?p=16</guid>
		<description><![CDATA[Эта статья была написанна мной несколько лет назад. Была опубликованна на разных сайтах: http://www.php.com.ua/ru/articles/basic/session_start.htm http://btl-studio.com/o/17/ http://kiev.abcname.net/index.php?o=17 Ну и чтобы добро не пропадало, сделаю кросспост тут. Что такое сессии и для чего они нужны? Давайте представим такую ситуацию: у вас есть некоторое количество страниц, вход на которые вы хотите ограничить паролем. У нас есть форма, в [...]]]></description>
			<content:encoded><![CDATA[<p>Эта статья была написанна мной несколько лет назад.  Была опубликованна на разных сайтах:<br />
<a href="http://www.php.com.ua/ru/articles/basic/session_start.htm" target=_blank>http://www.php.com.ua/ru/articles/basic/session_start.htm</a><br />
<a href="http://btl-studio.com/o/17/" target=_blank>http://btl-studio.com/o/17/</a><br />
<a href="http://kiev.abcname.net/index.php?o=17" target=_blank>http://kiev.abcname.net/index.php?o=17</a><br />
Ну и чтобы добро не пропадало, сделаю кросспост тут.</p>
<p><span id="more-16"></span><br />
<strong>Что такое сессии и для чего они нужны?</strong></p>
<p>Давайте представим такую ситуацию: у вас есть некоторое количество страниц, вход на которые вы хотите ограничить паролем. У нас есть форма, в которой мы вводим логин и пароль, на следующей странице мы проверяем эти данные на «правильность», если логин и пароль верны, то отображаем содержимое страницы.</p>
<p>Всё бы ничего, но «запароленых» страниц у нас несколько, и логин с паролем надо проверять на каждой. Тут возникает необходимость передачи этих данных между страницами. Конечно, можно было бы передавать логин и пароль методом GET (http://www.domain.org/page.php?login=xyz&#038;pass=1123), но по нескольким причинам так делать не стоит (всем виден пароль). А представим себе случай, когда необходимо передать от скрипта скрипту (от страницы к странице) большое количество информации&#8230; И тут возникает мысль: «хорошо было бы иметь возможность передавать нужные нам данные от одного скрипта к другому при просмотре сайта без прямой передачи этих данных от сервера к браузеру и обратно». Таким образом, мы сами подобрались к принципу работы сессий.</p>
<p><strong><br />
Как устроенны сессии ?</strong></p>
<p>Сессии &#8212; это механизм, созданный для временного хранения и передачи информации между скриптами в пределах одного сайта.</p>
<blockquote><p>Сессии предусматривают возможность создания собственных способов обработки информации, поэтому, в принципе, можно использовать сессии и при работе с несколькими сайтами или даже с несколькими серверами. Эти способы нами здесь рассматриваться не будут, так как эти приемы выходят за рамки стандартного программирования на РНР и требуют от программиста глубоких знаний не только РНР, но и знания сетевых протоколов, архитектуры построения серверов и так далее.</p></blockquote>
<p><strong>Сессии с точки зрения программиста</strong><br />
Чтобы запустить механизм сессии в скрипте (создать сессию) необходимо воспользоваться функцией <strong>session_start()</strong>. Эта функция должна стоять в Вашем скрипте до того, как скрипт начнет вывод информации (зачем &#8212; объясним ниже). После создании сессии мы получаем доступ к суперглобальному массиву <strong>$_SESSION</strong>, который обладает полезными свойствами. Так, помещенная в него информация будет доступна нам в любом скрипте в любой функции данного сайта в течении сеанса работы с сайтом. Сеанс прекращается когда пользователь закроет браузер или по прошествии определенного времени, в течении которого пользователь не совершал переходов по сайту. Это время определяется опцией <strong>session.gc_maxlifetime</strong> в файле <strong>php.ini</strong> и определяет время, по прошествии которого файл сессии будет рассматриваться как устаревший.</p>
<p>Существует также массив <strong>$HTTP_SESSION_VARS</strong>, которым можно пользоваться при работе с сессиями. Но этот массив не является суперглобальным, плюс имя его содержит больше букв, а значит нужно потратить больше времени на его написание. В общем, пользоваться этим массивом я не рекомендую.</p>
<p><strong>Более пристальный взгляд на механизм работы сессий</strong><br />
Передача данных от скрипта к скрипту согласно механизму работы сессий состоит из создания файла, записи данных в файл, открытии файла чтении данных и тд. Итак, изначально этот механизм опирается на файлы. Как уже упоминалось, при необходимости, данные сессии можно хранить в базе данных или просто в памяти. Для этого необходимо воспользоваться функцией <strong>session_set_save_handler()</strong> и/или опцией <strong>session.save_handler</strong> в файле <strong>php.ini</strong></p>
<p><strong>Идентификатор сессии.</strong><br />
При старте сессии создается специальный файл, в котором хранятся данные, переданные с помощью сессии. Для идентификации конкретной сессии конкретного пользователя используется так называемый идентификатор сессии. Идентификатор представляет из себя 128 битное число типа 523afa15f4a8e05e95241481c0cbc71e, которое при старте сессий выбирается случайным образом. В итоге, мы имеем файл, в имени которого присутствует уникальный идентификатор равный идентификатору сессии.</p>
<p><strong>Передача идентификатора сессии</strong><br />
Существует два способа передачи идентификатора сессии между сервером и браузером:</p>
<ul>
<li>Куки</li>
<li>Как параметр в URL</li>
</ul>
<p><strong>Использование cookies</strong> – если у пользователи куки включены PHP процессор сам помещает туда переменную со значением идентификатора, и в нужный момент читает ее от туда, причем включены у клиента куки или нет – php определяет самостоятельно.</p>
<blockquote><p><strong>Что такое cookie?</strong><br />
    Cookie это небольшая порция информации, которую сервер передает клиенту. Клиент (броузер) будет хранить эту информацию и передавать ее серверу с каждым запросом как часть HTTP заголовка. Некоторые cookie хранятся только в течение одной сессии, они удаляются после закрытия броузера. Другие, установленные на некоторый период времени, данные записываются в файл.</p></blockquote>
<p><strong>Использование параметров</strong> – этот метод используется PHP если куки отключены. Суть метода в том, что PHP процессор анализирует весь код, предназначенный для отображения в браузере, и производит автозамену всех ссылок таким образом, чтобы идентификатор сессии мог передаться на следующую страницу посредством метода GET или POST.</p>
<p><strong><br />
Примеры автозамены:</strong></p>
<p><strong>Код до обработки php-процессором:</strong><br />
<code>&lt;a href=page.php&gt;link&lt;/a&gt;<br />
</code></p>
<p><strong>Код после обработки php-процессором:</strong><br />
<code>&lt;a href=page.php?PHPSESSID=523afa15f4a8e05e95241481c0cbc71e&gt;link&lt;/a&gt;</code></p>
<p><strong>Код до обработки формы php-процессором:</strong><br />
<code>&lt;form action=page.php&gt;<br />
&lt;/form&gt;</code></p>
<p><strong>Код после обработки формы php-процессором:</strong><br />
<code>&lt;form action=page.php&gt;<br />
&lt;input type="hidden" name="PHPSESSID" value="523afa15f4a8e05e95241481c0cbc71e"&gt;<br />
&lt;/form&gt;<br />
</code></p>
<p><strong>Выводы</strong></p>
<p>Итак, подведем итог сказанному выше. У нас есть данные, которые необходимо использовать на нескольких страницах; для каждого клиента под хранение этих данных выделяется пространство памяти с уникальным идентификатором; PHP передает этот идентификатор от скрипта к скрипту, тем самым, открывая доступ к выделенному для текущего клиента участку памяти. Все эти действия выполняются PHP-процессором автоматически, а от программиста требуется всего лишь дать команду на запуск сессий.<br />
На примере всего этого мы видим, что сессии – это очень удобный и гибкий механизм для идентификации клиентских запросов.</p>
<p><strong>Часто используемые параметры и функции для сессий</strong></p>
<p><strong>session_start(); </strong>- запускает механизм сессий для текущего скрипта.</p>
<blockquote><p>    <strong>Предупреждение:</strong><br />
    Если Вы хотите, чтобы ваш сценарий работал независимо от register_globals, Вам нужно использовать массив <strong>$_SESSION</strong> так как данные которые находятся в этом массиве автоматически регистрируются. Если ваш сценарий использует <strong>session_register()</strong>, он не будет работать в средах где директива PHP <strong>register_globals</strong> выключена.</p></blockquote>
<p><strong><br />
Рекомендуется использовать такую конструкцию для регистрации переменных в сесии</strong><br />
<code>$_SESSION[‘name’]=”Василий”;</code></p>
<p><strong>session_destroy();</strong> &#8212; уничтожаются данные, хранящиеся в сессии, сам файл сессии и его идентификатор.</p>
<p><strong>session_name();</strong> &#8212; эта функция возвращает название переменной, которая используется для хранения идентификатора сессии.</p>
<p><strong>session_id();</strong> &#8212; сам идентификатор сессии.</p>
<p><strong>session.name</strong> – параметр в php.ini устанавливающий имя переменной для хранения идентификатора сессии, по умолчанию значение – PHPSESSID.</p>
<p><strong>session.auto_start</strong> – параметр включающий/выключающий автоматический старт сессий. Если значение этого параметра – <strong>1</strong>, то сессии стартуют автоматически и использовать <strong>session_start()</strong> не надо, если значение параметра – <strong>0</strong>, то сессии не будут стартовать автоматически. По умолчанию значение <strong>0</strong>.</p>
<p><strong>session.use_cookies</strong> – параметр указывающий PHP процессору использовать ли куки для хранения идентификатора или нет. По умолчанию PHP-процессору разрешено использовать cookies для хранения идентификатора сессии, и значение этого параметра равно <strong>1</strong>.</p>
<p>Остальные параметры и функции для работы с сессиями используются сравнительно редко, и поэтому я не стану приводить их описание в этой статье. Но если у вас всё-таки есть желание, то вы всегда можете ознакомиться с ними тут: <a href="http://ua.php.net/manual/ru/ref.session.php" target=_blank>http://ua.php.net/manual/ru/ref.session.php</a></p>
<p><strong>Пример использования сессий</strong></p>
<p>Сейчас я на простейшем примере продемонстрирую как хранятся и передаются данные при помощи механизма сессий.</p>
<p><strong>index.php</strong><br />
<code>&lt;form action=page1.php method=”GET”&gt;<br />
Введите ваше имя &lt;input type=text name=login&gt;<br />
&lt;input type=submit&gt;<br />
&lt;/form&gt;</code></p>
<p><strong>page1.php</strong><br />
<code>&lt;?php // внимание!!! До &lt;?php не должно быть пробелов или пустых строк<br />
session_start();<br />
// включаем поддержку сессий и генерируем случайный<br />
// идентификатор сессии</P><P>$_SESSION[‘login’]=”root”;<br />
// регистрируем переменную $login как переменную сессии.</P><P>print "На предыдущей странице вы ввели имя &lt;b&gt;$_GET[‘login’]&lt;/b&gt;. Ваше имя уже хранится в файле сессии.&lt;br /&gt;<br />
Перейдите по ссылке на следующую страницу&lt;p&gt;</P><P>&lt;a href=”page2.php”&gt;Ссылка на следующую страницу&lt;/a&gt;";<br />
// делаем ссылку для перехода на следующую страницу<br />
// в эту ссылку при помощи механизма автозамены<br />
// будет подставлен идентификатор сессии<br />
?&gt;<br />
</code></p>
<p><strong>page2.php</strong><br />
<code>&lt;?php // внимание!!! До &lt;?php не должно быть пробелов или пустых строк<br />
session_start();<br />
// снова включаем поддержку сессий</P><P>print "Ваше имя, переданное при помощи механизма сессий: &lt;b&gt;$_SESSION[‘login’]&lt;/b&gt;";<br />
// выводим содержимое переменной $login<br />
// которая хранится в файле сессий<br />
?&gt;<br />
</code></p>
<p>На этом я заканчиваю свою статью, и желаю вам успехов в дальнейшем изучении PHP!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.xyz.net.ua/2009/05/06/php_sessions/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

