<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl"  href="/xslt/final.xslt"?><html>
  <head>
    <title>Codeigniter Blog. Step3: Добавление записей и комментариев в блог</title>
    <meta name="css" content=""/>
    <meta name="js" content=""/>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <meta name="id" content="6"/>
    <link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml"/>
  </head>
  <body>
    <div class="main">
      <div class="wrap">
        <div class="L">
          <h1><a href="/">..</a> / Codeigniter Blog. Step3: Добавление записей и комментариев в блог</h1>
          <ol class="tags big">
            <li>
              <a href="/codeigniter-blog">codeigniter-blog</a>
            </li>
          </ol>
          <div class="myContent"><p>На двух <a href="/article/5">предыдущих шагах</a> создали заготовку блога, без возможности добавления записей. На этом шаге сделаем добавление записей. </p>
<h2>1.</h2>
<p>Естественно для добавления записей необходимы формы. Для обегчения работы с формами в Codeigniter используется <a href="#" title="codeigniter.com/user_guide/helpers/form_helper.html" rel="nofollow" class="external">хелпер form</a>  Как и любой другой хелпер/библиотеку его необходимо зарегистрировать</p>
<p><strong>a)</strong> регистрируем его в конфигурационном файле /system/application/config/autoload.php.<br/>
Находим строку:<br/>
<span class="codecolor">$autoload['helper'] = array('url'); </span><br/>
и исправляем ее:<br/>
<span class="codecolor">$autoload['helper'] = array('url','form'); </span><br/>
Регистрируем хелпер в контроллере </p>
<div>

<table class="code"><tr><td><!--php--><pre class="brush: plain">function Blog()
                 {
                    parent::Controller();
                    $this-&gt; load-&gt; helper('url');
                    $this-&gt; load-&gt; helper('form');
                 }</pre><!--/php--></td></tr></table>
</div>
<p><strong>b)</strong> дорабатываем вьюер комментариев /system/application/views/comment_view.php. Там должна выводиться форма добавления комментариев. </p>
<div>

<table class="code"><tr><td><!--php--><pre class="brush: plain">&lt;html&gt; 
            &lt;body&gt; 
            &lt;?
                  foreach ($data1 as $row1)
                  {
                    echo "&lt;h1&gt; ".$row1-&gt; title."&lt;/h1&gt; ";
                    echo "&lt;p&gt; ".$row1-&gt; body."&lt;/p&gt; &lt;hr/&gt; ";
                  }
                  foreach ($data2 as $row2)
                  {
                    echo "&lt;h4&gt; ".$row2-&gt; author."&lt;/h4&gt; ";
                    echo "&lt;p&gt; ".$row2-&gt; body."&lt;/p&gt; &lt;hr/&gt; ";
                  }
            
      echo anchor('','Back');
                  echo "&lt;h1&gt; Post&lt;/h1&gt; ";
                  echo form_open('blog/comment_add'); // ърър  урфюёЄ№ - ЁрчюЁтрээ√х Єхуш!
                  echo form_hidden('record_id', $this-&gt; uri-&gt; segment(3));
            
?&gt; 
                  &lt;div&gt; &lt;input type="text" id="author" name="author" value="Name"/&gt; &lt;div&gt; 
                  &lt;div&gt; &lt;textarea name="body" id="comment_body" rows="10" cols="40"&gt; Comment&lt;/textarea&gt; &lt;div&gt; 
                  &lt;input type="submit" value="Submit Comment" /&gt; 
            &lt;?
                  echo form_close();
            
?&gt; 
            &lt;/body&gt; 
            &lt;/html&gt;  </pre><!--/php--></td></tr></table>
</div>
<p><strong>с)</strong> в контроллере  /system/application/controller/blog.php  создаем обработчик добавления комментария: </p>
<p> </p>
<p>

<table class="code"><tr><td><!--php--><pre class="brush: plain"> function comment_add()
             {
                        $this-&gt; db-&gt; insert('comments',$_POST); 
                        //!!! insert беззащитен от всякой фигни
                        redirect('blog/comments/'.$_POST['record_id']); 
                        // редирект на исходную позицию
             }</pre><!--/php--></td></tr></table>
</p>
<p> </p>
<p><span class="color">Еще раз хотелось бы обратить внимание на беззащитность учебного блога. Кроме упомянутых SQL инъекций, как минимум можно разместить скрипт, вызывающий заражение компьютера вирусами. В реальном блоге необходимо контролировать все что передается в базу данных  - по максимуму запретить  теги и переопределить некоторые спецсимволы.</span></p>
<p><span class="color">Если вы играете в Unicode и обнаружили кракозябры вместо русских букв попробуйте проделать следующие действия:<br/>
- проверьте кодировки вьюеров. Они должны в UTF<br/>
- проверьте кодировки БД (<em>utf8_general_ci</em>)<br/>
- в конструкторе контроллера блога добавьте строки: <br/>
<span class="codecolor">        $this-&gt; db-&gt; query('SET NAMES utf8');<br/>
        header("Content-Type: text/html; charset=UTF-8"); </span></span></p>
<h2>2.</h2>
<p>Делаем отдельную форму добавления новой авторской записи в блог.</p>
<p>a) для этого по аналогии с 1b создаем вьюер /system/application/views/record_add.php</p>
<div>

<table class="code"><tr><td><!--php--><pre class="brush: plain">&lt;html&gt; 
            &lt;body&gt; 
            &lt;?
                  echo "&lt;h1&gt; Post&lt;/h1&gt; ";
                  echo form_open('blog/record_add'); // здесь обработчик добавления комментария
            ?&gt; 
                  &lt;div&gt; &lt;input type="text" id="title" name="title" value="title"/&gt; &lt;div&gt; 
                  &lt;div&gt; &lt;textarea name="body" id="body" rows="10" cols="40"&gt; Comment&lt;/textarea&gt; &lt;div&gt; 
                  &lt;input type="submit" value="Submit Comment" /&gt; 
            &lt;?
                  echo form_close();
            
?&gt; 
            &lt;/body&gt; 
            &lt;/html&gt;</pre><!--/php--></td></tr></table>
</div>
<p>Проверяем результат здесь: http://ci/blog/comments/2  </p>
<p>b) в контроллере /system/application/controller/blog.php создаем обработчик этого добавления</p>
<div>

<table class="code"><tr><td><!--php--><pre class="brush: plain">function record_add()
              {
                     if (isset($_POST)) if (isset($_POST['title'])) 
                     // проверяем были ли отосланы данные формы
                     {
                         $this-&gt; db-&gt; insert('records',$_POST);  
                      // если данные были приняты - записываем их в БД
                          redirect('');  //  редирект в начало
                     } else  
                     // если данных нет - выводим форму для добавления новой записи в блог
                     $this-&gt; load-&gt; view('record_add');
              }</pre><!--/php--></td></tr></table>
</div>
<p>результат можно проверить по адресу http://ci/blog/record_add</p>
<h2>3.</h2>
<p>Как делать удаление записей здесь не рассматривается. Удалить - проще чем создать, а загромождать учебный пример не хочется. Теперь в заготовке блога  можно смотреть и добавлять записи и комментарии. А пока технический перерыв. Сохраняем все в пархивной директории <a href="/doc/step-by-step.zip">Step3</a> </p></div>
          <ol class="tags big">
            <li class="date">2007-09-03</li>
            <li>
              <a href="/codeigniter-blog">codeigniter-blog</a>
            </li>
          </ol>
          <ol class="see"/>
          <ul class="comment">
            <li id="a26" title="a0">
              <a name="Alex" title="" rel="08.02.08"/>
              <div>function comment_add() { $this-&gt;db-&gt;insert("comments",$_POST); //!!! insert<br/>ругается на<br/>redirect("blog/comments/".$_POST["record_id"]); }<br/>Cannot modifi header information -headers alredy sent (output started at ///Blog.php:2)</div>
            </li>
            <li id="a40" title="a0">
              <a name="&#x413;&#x43E;&#x441;&#x442;&#x44C;" title="" rel="07.05.08"/>
              <div>Да, ругается.<br/>Как поправить"</div>
            </li>
            <li id="a68" title="a26">
              <a name="&#x418;&#x441;&#x430;&#x430;&#x43A; &#x422;&#x44B;&#x43D;&#x433;&#x44B;&#x43B;&#x447;&#x430;&#x432;" title="" rel="02.09.08"/>
              <div>Странно. У меня все работает. Может я уже давно все поправил.<br/>В принципе ошибка описана и вы сами можете ее исправить. PHP ругается  на то, что до выполнения редиректа уже было что-то выведено. Если вы не добавляли никакого эха - проверьте, чтобы  скрипт начинался с директивы</div>
            </li>
            <li id="a115" title="a0">
              <a name="yanesh" title="" rel="08.10.08"/>
              <div>и все таки как удалить лишние записи?</div>
            </li>
            <li id="a122" title="a115">
              <a name="&#x418;&#x441;&#x430;&#x430;&#x43A; &#x422;&#x44B;&#x43D;&#x433;&#x44B;&#x43B;&#x447;&#x430;&#x432;" title="erum.ru" rel="09.10.08"/>
              <div>Удаление записи практически такое же как и чтение. Только вместо выборки get() нужно сделать delete()</div>
            </li>
            <li id="a123" title="a115">
              <a name="&#x418;&#x441;&#x430;&#x430;&#x43A; &#x442;&#x44B;&#x43D;&#x433;&#x44B;&#x43B;&#x447;&#x430;&#x432;" title="erum.ru" rel="09.10.08"/>
              <div><a title="http://code-igniter.ru/user_guide/database/active_record.html#delete" rel="nofollow" class="external" href="#">ссылка</a>   - страница в мануале о методе delete()</div>
            </li>
            <li id="a175" title="a0">
              <a name="&#x41C;&#x430;&#x43A;&#x441;" title="" rel="18.11.08"/>
              <div>Часто сервер разворачивают на денвере - так сказать - облегчает жизнь... НО... Некоторые нехорошие люди поставили кодировку по-умолчанию 1251, а, по крайней мере я, стараюсь все проекты делать на ютф... Посему в папке usr/local/apache/conf/httpd.conf надо заменить дефолтную кодировку - AddDefaultCharset utf-8</div>
            </li>
            <li id="a176" title="a0">
              <a name="&#x410;&#x43B;&#x435;&#x43A;&#x441;&#x435;&#x439;" title="" rel="19.11.08"/>
              <div>Если вы указали, что б helper загружался при инициализации приложения (это делается в файле /system/application/config/autoload.php), то не надо повторно его загружать в конструкторе контроллера, как это написано в статье. <br/>А, вообщем, автору выражаю благодарность!</div>
            </li>
            <li id="a190" title="a0">
              <a name="dobs" title="free-php.net.ru" rel="06.12.08"/>
              <div>Странно у меня комменты добавляет а посты не хочет...<br/>вроде все правильно сделал<br/>function comment_add() // обработчик добавления комментария<br/>    {<br/>        $this-&gt;db-&gt;insert('comments', $_POST);<br/>        //!!! insert беззащитен от всякой фигни<br/>        redirect('blog/comments/' . $_POST['record_id']);<br/>        // редирект на исходную позицию<br/>    }<br/>    function record_add() // обработчик этого добавления<br/>    {<br/>        if (isset($_POST))<br/>            if (isset($_POST['title'])) // проверяем были ли отосланы данные формы<br/>                {<br/>                <br/>                $this-&gt;db-&gt;insert('records', $_POST);<br/>                // если данные были приняты - записываем их в БД<br/>                redirect(''); //  редирект в начало<br/>            } else // если данных нет - выводим форму для добавления новой записи в блог<br/>                $this-&gt;load-&gt;view('record_add');<br/>    }</div>
            </li>
            <li id="a207" title="a0">
              <a name="Dev" title="" rel="30.12.08"/>
              <div>Неужели в Code Igniter нет каких либо методов защиты от SQL inj? Юзать mysql_escape_string я как то не хочу.Мб есть какие варианты?</div>
            </li>
            <li id="a208" title="a207">
              <a name="&#x418;&#x441;&#x430;&#x430;&#x43A; &#x422;&#x44B;&#x43D;&#x433;&#x44B;&#x43B;&#x447;&#x430;&#x432;." title="erum.ru" rel="30.12.08"/>
              <div>Вообще-то есть функция: this-&gt;db-&gt;escape() <br/>Но не нравится она мне. Да и был в версии 1.6.4 баг именно с этой функцией.</div>
            </li>
            <li id="a209" title="a208">
              <a name="Dev" title="" rel="30.12.08"/>
              <div>Мои сомнения не верны! Ибо если писать с юзингом ORM-a Active Records то я думаю всё будет проще и о таких вещах не надо думать,но если я ошибаюсь можете стукнуть мне ногой в лицо. И кстати даный паттерн оч сильно экономит время,возможно кто то пользовался Linq для .NET меня поймут. Рекомендую почитать на офф. сайте про него. Не сочтите за рекламу :<br/><a title="http://code-igniter.ru/user_guide/database/active_record.html" rel="nofollow" class="external" href="#">ссылка</a>  <br/>З.Ы -- Если я прав то это ну ооочень радует, так как такого вида запросы читать куда проще.<br/>З.Ы2 -- соори за ошибки</div>
            </li>
            <li id="a226" title="a26">
              <a name="&#x410;&#x43B;&#x435;&#x43A;&#x441;&#x435;&#x439;" title="" rel="28.01.09"/>
              <div>у вас перед header идет вывод в браузер. на это и ругается</div>
            </li>
            <li id="a242" title="a26">
              <a name="Sun" title="" rel="17.02.09"/>
              <div>Скорее всего у вас кодировка UTF-8, попробуйте сохранить в UTF-8 без BOM:)</div>
            </li>
            <li id="a287" title="a208">
              <a name="&#x43A;&#x438;&#x441;&#x430;" title="&#x441;&#x43E;&#x43B;&#x43D;&#x446;&#x435;" rel="27.05.09"/>
              <div>у тебя тупое имя и вообще ты от куда</div>
            </li>
            <li id="a306" title="a0">
              <a name="Tanyusha" title="tebesovety.ru/" rel="15.06.09"/>
              <div>Очень оригинальное оформление всего блога. Хорошо, что есть такие редкие экземпляры как Вы.</div>
            </li>
            <li id="a347" title="a0">
              <a name="demi" title="www.findbg.ru" rel="22.10.09"/>
              <div>Спасибо! Оказалось полезно, воспользуюсь Вашим советом в своем блоге</div>
            </li>
            <li id="a349" title="a209">
              <a name="Dym Popov" title="www.dymok.net/" rel="23.10.09"/>
              <div>Немного недопонял, а как начать использовать класс Active Records? Или он по умолчанию используется?</div>
            </li>
            <li id="a388" title="a0">
              <a name="&#x410;&#x43D;&#x434;&#x440;&#x435;&#x439;" title="" rel="03.12.09"/>
              <div>Действительно очень простой и быстрый фрэймворк. <br/>Удаление сделал за 1 минуту, хоть в первый раз его вижу и вообще в первый раз с фреймворком работаю!<br/>Спасибо!:)</div>
            </li>
            <li id="a404" title="a0">
              <a name="GTAlex" title="blog.gtalex.ru/" rel="16.12.09"/>
              <div>тоже с хеадерами трабла<br/>A PHP Error was encountered<br/>Severity: Warning<br/>Message: Cannot modify header information - headers already sent by (output started at Z:\home\seo\www\blog\system\application\controllers\blog.php:52)<br/>Filename: helpers/url_helper.php<br/>Line Number: 541</div>
            </li>
            <li id="a405" title="a404">
              <a name="GTAlex" title="blog.gtalex.ru/" rel="16.12.09"/>
              <div>причём я в конструкторе контроллера убрал загрузку хелперов (т.к.) они в автолоаде подгружаются<br/>а всё равно говорит, что я уже хеадеры отсылал ...</div>
            </li>
            <li id="a406" title="a405">
              <a name="Le capitaine Nemo" title="" rel="16.12.09"/>
              <div>Два пути есть. <br/>1.Сложный. Проверьте кодировки и концевые пробелы на своих файлах.<br/>2. Простой. Поставьте @ на функции вызова headers<br/>3. Промежуточный. Обойдитесь без headers</div>
            </li>
            <li id="a412" title="a406">
              <a name="GTAlex" title="blog.gtalex.ru/" rel="18.12.09"/>
              <div>я вообще headers не использую<br/>он в redirect() присутствует - на него и ругается, но я понять не могу где я ДО вызова редиректа уже что-то в браузер кинул<br/>в comment_add() всего 2 строчки ! <br/>инсерт да редирект<br/>инсерт явно не при делах :)<br/>где то раньше, что то успевает выполниться</div>
            </li>
            <li id="a413" title="a0">
              <a name="GTAlex" title="blog.gtalex.ru/" rel="18.12.09"/>
              <div>в общем скачал готовое - всё пашет<br/>буду сравнивать, где накосячил</div>
            </li>
            <li id="a437" title="a413">
              <a name="&#x420;&#x430;&#x43C;&#x438;&#x43B;&#x44C;" title="" rel="10.02.10"/>
              <div>В конце файла надо тупо удалить лишние пробелы и всё заработает</div>
            </li>
            <li id="a495" title="a0">
              <a name="&#x427;&#x430;&#x439;&#x43D;&#x438;&#x43A;" title="" rel="12.04.10"/>
              <div>Подскажите, это запустится, если стоит MySql5?</div>
            </li>
            <li id="a505" title="a495">
              <a name="&#x418;&#x441;&#x430;&#x430;&#x43A; &#x422;&#x44B;&#x43D;&#x433;&#x44B;&#x43B;&#x447;&#x430;&#x430;" title="erum.ru" rel="02.05.10"/>
              <div>Вполне. В примерах достаточно банальные запросы.</div>
            </li>
            <li id="a507" title="a413">
              <a name="Brenor" title="brenor.ru" rel="07.05.10"/>
              <div>Поменял кодировку на UTF-8 (без BOM) контроллера blog.php и ошибка пропала.</div>
            </li>
            <li id="a519" title="a0">
              <a name="Le capitaine Nemo" title="" rel="25.05.10"/>
              <div>У меня проблемы с кодировкой прописываю<br/>$this-&gt; db-&gt; query('SET NAMES utf8');<br/>@header("Content-Type: text/html; charset=UTF-8"); <br/>заголовок пишет иероглифами, без него сообщения с иероглифами8)<br/>как поменять кодировку UTF-8(без ВОМ)????</div>
            </li>
            <li id="a535" title="a0">
              <a name="&#x412;&#x438;&#x442;&#x430;&#x43B;&#x44F;" title="" rel="18.07.10"/>
              <div>Может я конечно и не прав, ибо начал изучать сий фрэймворк только сегодня, но не лишне ли указывать регистрацию хэлперов и тут <br/>$autoload['helper'] = array('url','form'); <br/>и тут<br/>function Blog()<br/>   {<br/>   	 parent::Controller();<br/>     $this-&gt;load-&gt;helper('url');<br/>   	 $this-&gt;load-&gt;helper('form');<br/>   }<br/>Не одно ли это тоже ?? а тогда зачем платить дважды ??</div>
            </li>
            <li id="a543" title="a0">
              <a name="&#x412;&#x44F;&#x447;&#x435;&#x441;&#x43B;&#x430;&#x432;" title="" rel="25.07.10"/>
              <div>Господа программисты, может сообщение не по теме, но прошу вас помочь мне с одной проблемой: не удается сохранить измененные данные в бд. Опишу ситуацию:<br/>вьюшка выглядит так<br/>метод контроллера, который она вызывает<br/>function safe() {<br/>$index = $this-&gt;input-&gt;post('text');<br/>$this-&gt;load-&gt;model('admin', $index);}<br/>и модель<br/>function Index() {<br/>$data = array(<br/>'index' =&gt; $index);<br/>$this-&gt;db-&gt;where('id = 1');<br/>$this-&gt;db-&gt;update('text', $data);}<br/>проблема состоит вот в чем: в textarea выводится текст из бд, изменив этот текст мне нужно сохранить его в бд, но никак не могу найти ошибку(бд MySQl, талица text, поля id, index).</div>
            </li>
            <li id="a544" title="a543">
              <a name="&#x412;&#x44F;&#x447;&#x435;&#x441;&#x43B;&#x430;&#x432;" title="" rel="25.07.10"/>
              <div>к предыдущему сообщению -<br/>представление :<br/>"<br/>"</div>
            </li>
            <li id="a545" title="a544">
              <a name="&#x421;&#x435;&#x440;&#x433;&#x435;&#x439;" title="" rel="30.07.10"/>
              <div>Блин я не могу понять почему у меня не работает редирект, ошибка такая же, как и  у ребят выше</div>
            </li>
            <li id="a546" title="a545">
              <a name="&#x421;&#x435;&#x440;&#x433;&#x435;&#x439;" title="" rel="30.07.10"/>
              <div>Фу блин, вот я баран, там все так просто оказалось просто...)</div>
            </li>
            <li id="a562" title="a190">
              <a name="&#x410;&#x43D;&#x434;&#x440;&#x435;&#x439;" title="" rel="30.09.10"/>
              <div>та же проблема(не добавляет записи)</div>
            </li>
            <li id="a576" title="a122">
              <a name="&#x427;&#x430;&#x439;&#x43D;&#x438;&#x43A;" title="" rel="05.12.10"/>
              <div>Не смог разобраться как сделать ф-цию удаление записей? вроде добавил <br/>function comment_del()<br/>	 {<br/>		 $this-&gt;	db-&gt;	delete('comments', $_POST);<br/>		 redirect('blog/comments/'.$_POST['record_id']);<br/>затем добавил в цикл кнопу echo "";<br/>Кнопка та появилась, там где отображаются комментарии. Но когда кликаю не реагирует.</div>
            </li>
            <li id="a582" title="a0">
              <a name="&#x418;&#x43B;&#x44C;&#x44F;" title="glilya.elance.com" rel="04.01.11"/>
              <div>Зачем 2 раза хелперы регистрировать ? <br/>Полностью рабочая ф-я удаления комментариев :<br/>function comment_delete () <br/>    {<br/>      $this-&gt;db-&gt;where('id',$this-&gt;uri-&gt;segment(3));<br/>      $query1 = $this-&gt;db-&gt;get('comments');<br/>      $data1 = $query1-&gt;result();<br/>      $record_id = $data1[0]-&gt;record_id;<br/>      $this-&gt;db-&gt;where('id',$this-&gt;uri-&gt;segment(3));<br/>      $this-&gt;db-&gt;delete('comments');<br/>      redirect('/blog/comments/'.$record_id);<br/>    }<br/>Вот как у меня сработоло добавление записи  : <br/>function record_add () <br/>    {<br/>      if (!isset($_POST['title']))<br/>      {<br/>        $this-&gt;load-&gt;view('record_add');<br/>      }<br/>      else <br/>      {<br/>        $this-&gt;db-&gt;insert('records', $_POST);<br/>        redirect('');<br/>      }<br/>    }<br/>Автору респект - очень хорошее пошаговое руководство. Советую поставить донат</div>
            </li>
            <li id="a590" title="a582">
              <a name="Glok" title="www.teleset74.ru" rel="09.01.11"/>
              <div>Я тоже не понял, зачем два раза хелперы подгружать))</div>
            </li>
            <li id="a593" title="a0">
              <a name="mirmikot" title="" rel="14.01.11"/>
              <div>почему-то не отображается форма добавления новой записи, на <a title="http://****/blog/record_add" rel="nofollow" class="external" href="#">ссылка</a>   браузер ругается, пишет not_found.<br/>хотя там все просто. подскажите, в чем может быть ошибка?</div>
            </li>
            <li id="a594" title="a593">
              <a name="Le capitaine Nemo" title="" rel="14.01.11"/>
              <div>Все оказалось просто: обработчик для новой записи function record_add() был размещен после закрывающей фигурной скобки класса. :) невнимательность всему виной...</div>
            </li>
            <li id="a601" title="a287">
              <a name="&#x420;&#x430;&#x43C;&#x43E;&#x43D;" title="nononon.no" rel="26.02.11"/>
              <div>Боже мой, пупсик атакуе :)<br/>"Вы очень лаконичны". Хм)</div>
            </li>
            <li id="a681" title="a0">
              <a name="&#x41C;&#x430;&#x43A;&#x441;&#x438;&#x43C; &#x41F;&#x435;&#x440;&#x435;&#x43F;&#x435;&#x43B;&#x438;&#x446;&#x430;" title="" rel="22.01.12"/>
              <div>Пользуюсь этим фреймворком уже несколько лет. Удобная справка и вообще хорошо документирован.<br/>Кстати, появилось руководство пользователя на русском для версии 2.0.0<br/><u class="external" title="codeigniter.su">http://codeigniter.su</u></div>
            </li>
            <li id="a692" title="a0">
              <a name="&#x410;&#x43D;&#x442;&#x43E;&#x43D;" title="" rel="02.02.12"/>
              <div>Шикарный сайт. Шикарные и подробные уроки, огромное спасибо автору!</div>
            </li>
          </ul>
        </div>
      </div>
      <div class="R">
        <a href="/" title="&#x41D;&#x430; &#x433;&#x43B;&#x430;&#x432;&#x43D;&#x443;&#x44E;"/>
      </div>
    </div>
    <div id="li"/>
  </body>
</html>

