Свежие комментарии

    Архивы рубрики ‘Ajax’

    Принцип работы CMS Joomla

    Для людей не знакомых не только с Joomla, но и с сайтостроением как таковым вообще, объяснить, что такое CMS Joomla можно только следующим образом. На самом деле любой сайт, на который вы заходите, введя некое имя в поисковой строке, состоит из двух сайтов с различными интерфейсами. И эти сайты мы изначально назовем «для стороннего пользования» и «для внутреннего».

    Сайт, который мы видим благодаря поисковому запросу, который читаем и на котором оставляем комментарии, является сайтом для стороннего пользователя. Он и был создан веб-мастером для нас, как пользователей. А вот второй сайт (располагающийся на том же хостинге, что и первый, и имеющий практически тот же адрес), является сайтом «для внутреннего пользования», или правильнее сказать – административной панелью сайта. Она нужна веб-мастеру, чтобы выставлять на сайте статьи и фотографии, создавать рубрики и макетировать сам сайт из различных плагинов. Это и есть CMS Joomla.

    Именно с ее загрузки на хостинг и начинается работа над сайтом, созданным благодаря бесплатному конструктору Joomla. То есть — сперва вы загружаете минимальный набор инструментов, содержащийся в изначальной CMS Joomla, а постепенно, по мере надобности, добавляете все новые и новые. На практике это может выглядеть следующим образом:

    — сперва у вас есть возможность размешать контент – статьи и фотографии;

    — потом вы добавляете возможность размещать на сайте видео- и аудиофайлы;

    — после добавляете комментарии к постам;

    — после – форму;

    — после – открываете на своем сайте форум, Интернет-магазин или хранилище файлов, которым могут воспользоваться все желающие.

    Список этот можно продолжать до бесконечности, так как возможности CMS Joomla бесконечным, и они всегда соответствуют именно тем желаниям и потребностям, которые могут возникнуть у веб-мастера.

    Ну а теперь несколько профессиональных характеристик CMS Joomla, которая расшифровывается как система управления содержимым (написана она на программных языках JavaScrip и PHP, и использует базу данных MySQL в качестве основного хранилища).

    — CMS Joomla легко расширяется при помощи различных компонентов – плагинов, модулей;

    — она является отличным средством защиты внутреннего содержания сайта от сторонних проникновений;

    — при помощи CMS Joomla можно легко изменить вид (шаблон) сайта;

    — так же можно полностью перестроить «начинку» сайта, меняя местами, удаляя или добавляя разные его компоненты;

    — при работе с CMS Joomla вы можете использовать не только готовые компоненты и шаблоны, но и те, что напишите сами.

    Ну а если добавить ко всему вышеперечисленному то, что чуть ли не каждый день появляются новые компоненты для работы с CMS Joomla, то можно смело сказать, что возможности, которые открывает перед вами система управления содержимым в области создания сайтов, поистине безграничны.

    Установка eAccelerator 0.9.6.1 (apache2) на Debian 5

    Установка eAccelerator 0.9.6.1 (apache2) на Debian 5

    Если Вам кажется, что PHP стал тормозить или, же, напротив, его нужно немного ускорить вам нужен акселератор.

    В интернете есть много статей «Как установить eAccelerator» но некоторые ссылки там уже не рабочие. Для опытных администратором нерабочая ссылка это не проблема, но для новичка ошибка в консоли из за нерабочий ссылке может быть непонятной.

    Что такое eAccelerator и для чего он нужен ?

    eAccelerator — бесплатный и открытый проект, является акселератором php кода, оптимизатор и распаковщик. В нем разработаны такие функции как динамического кэширования контента. С помощью него можно воспользоваться возможностями оптимизации PHP-скриптов для ускорения их исполнения.

    Проект жив и успешно развивается, актуальная версия 0.9.6.1 добавлена 31 мая 2010

    Версию eAccelerator 0.9.6.1 сегодня мы и поставим.

    Нам нужно скачать архив eAccelerator 0.9.6.1

    Можно скачать его по ссылке тут или с сервера live-code.ru тут

    — Загружаем архив в папку /tmp

    cd /tmp
    tar xvfj eaccelerator-0.9.6.1.tar.bz2
    cd eaccelerator-0.9.6.1
    phpize
    ./configure
    make
    make install

    Готово!

    Создаем конфигурационный файл ‘/etc/php5/conf.d/eaccelerator.ini‘ следующего содержания:

    extension="eaccelerator.so"
    eaccelerator.shm_size="64"
    eaccelerator.cache_dir="/var/cache/eaccelerator"
    eaccelerator.enable="1"
    eaccelerator.optimizer="1"
    eaccelerator.check_mtime="1"
    eaccelerator.debug="0"
    eaccelerator.filter=""
    eaccelerator.shm_max="0"
    eaccelerator.shm_ttl="3600"
    eaccelerator.shm_prune_period="1800"
    eaccelerator.shm_only="0"
    eaccelerator.compress="1"
    eaccelerator.compress_level="9"

    Создаем папку для хранения файлов eAccelerator’а:

    mkdir -p /var/cache/eaccelerator
    chmod 0777 /var/cache/eaccelerator

    Перезапускаем apache

    /etc/init.d/apache2 restart

    Постепенная загрузка страницы Ajax, урок третий.

    Постепенная загрузка страницы Ajax, урок третий.

    Здравствуйте, сегодня я расскажу Вам про постепенную загрузку страницы.

    На многих сайтах страница отображается после того, как обработает весь html, php и javascript код. Но что делать, если на нашей странице обработка кода занимает долгое время?

    Нам приходит на помощь ajax!

    Создадим html файл.

    <html>
      <head>
        <script type='text/javascript'src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js'></script> 
        <script type='text/javascript' src='://:///my.js'></script> 
        <title>Пример постепенной загрузки страницы</title>
      </head>
      <body>
        <p>Hello word <img src="http://live-code.ru/uploads/smiles/wink.gif" width="19" height="19" alt="Постепенная загрузка страницы Ajax, урок третий." style="border:0;" class="smiley"></p>
        <div id='content'>Тут появится наш контент</div>
        <div id='js'>
          content();
        </div>
      </body>
    </html>

    В div`е content появится наш контент.

    В div`е js запускается javascript функция, которая, собственно, заставит контент появиться.

    Не забываем подключить библиотеку Jquery и my.js

    Теперь в файле my.js создадим функцию content.

    function content() {
     $.ajax({
                    type: "POST",
                    url: "content_loader.php",
                    success: function(html) {
                            $('#content').empty();
                            $('#content').append(html);
                    }
            });
    }

    type — тип запроса.

    url — скрипт, который будет обрабатывать и выводить результат php кода.

    success — что делать при удачном завершении обработки.

    В этом примере, при удачном завершении обработки content_loader.php, у нас будет очищаться div content и выводиться в него ответ от content_loader.php

    Теперь перейдем к php файлу. В нём Вы можете написать абсолютно любой код, но в примере будет так

    <?php
    sleep(2);
    echo "Новый контент!";
    ?>

    Вот и всё, желаю Вам успехов!

    Отправка POST запроса без перезагрузки страницы

    Отправка POST запроса без перезагрузки страницы

    Привет, дорогой читатель!

    Сегодня я расскажу, как собирать данные из формы, отправлять на сервер и выводить ответ. Начнем, для начала нам понадобится библиотека jQuery, подключить её можно через Google(https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js), либо скачать себе.

    Создадим простую html страничку с формой.

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Отправка формы используя Ajax
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js">
    <script type="text/javascript" src="://:///my_ajax.js">
    <form action="">
    <input id="text" type="text">
    <input onclick="send();" value="Отправить" type="button">
    </form>
    <div id="response">

    Рассмотрим эту страничку:

    1. Мы подключили библиотеку jQuery и библиотеку my_ajax.

    2. Мы создали формы на html и присвоили ей id text и функцию send().

    3. Мы создали div в котором получим ответ.

    Теперь мы рассмотрим библиотеку my_ajax и функцию send().

    Тут всё очень просто, в библиотеке my_ajax мы просто создадим саму функцию send() и укажем ей, что делать при её активации.

    function send()
    {
    //Получаем параметры
    var text = $('#text').val()
      // Отсылаем паметры
           $.ajax({
                    type: "POST",
                    url: "/action.php",
                    data: "text="+text,
                    //При удачном завершение запроса - выводим то, что нам вернул PHP
                    success: function(html) {
     //предварительно очищаем нужный элемент страницы
                            $("#response").empty();
    //и выводим ответ php скрипта
                            $("#response").append(html);
                    }
            });
    }

    Рассмотрим этот скрипт:

    1. Мы получаем информацию из формы с id`ом text

    2. Мы отсылаем данные на сервер:

    2.1 type: «POST» — тип запроса

    2.2 url: «/action.php» — адрес скрипта которые получит данные

    2.3 data: «text=»+text — отправляем данные

    3. При успешном завершение обработки мы очищаем div response и выводим в него ответ php скрипта

    Теперь про сам php обработчик.

    Собственно мы можем делать с переменными всё, что душе угодно, но сейчас мы просто выведем их на экран.

    <?php
    $text = $_POST["text"];
    if(!$text)
    {$text = "Вы ничего не написали";}
    echo $text;
    ?>

    Вот и всё, ребята

    До новых встреч!

    Введение в Ajax

    Введение в Ajax

    Привет, дорогой читатель. В этой статье я расскажу тебе о том, что такое ajax и с чем его едят.Ajax(Asynchronous Javascript And Xml)- технология для взаимодействия с сервером без перезагрузки страниц. Преимущество ajax в том, что при его использование можно изменить часть web страницы, не перезагружая всю страницу целиком, а только лишь нужную нам часть. Сейчас мы рассмотрим простой пример использования ajax.

    Создадим файл «ajax.html», в него вставим этот html код:

    <html>
    <head>
    <title>Пример асинхронной передачи данных</title>
    </head>
    <body>
    <input value="Сколько время?" onclick="now_time()" type="button">
    <div id="time">Здесь будет ответ сервера
    </body>
    </html>

    Теперь рассмотрим данный html код.

    При нажатие на кнопку «сколько время?» будет вызвана java script функция now_time(). Функция пошлет запрос на сервер, сервер обработает запрос и вышлет нам ответ в div time.

    Теперь мы рассмотрим саму функцию now_time():

    Во-первых, для асинхронного обмена данными мы будем использовать специальный объект XmlHttpRequest, который умеет отправлять запрос и получать ответ от сервера.

    function getXmlHttp(){
      var xmlhttp;
      try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (e) {
        try {
          xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (E) {
          xmlhttp = false;
        }
      }
      if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
        xmlhttp = new XMLHttpRequest();
      }
      return xmlhttp;
    }

    Подробно про этот объект вы можете прочитать тут.

    А теперь про саму функцию now_time():

    function now_time() {
    var req = getXmlHttp() // создадим объект для запроса к серверу
    var statusElem = document.getElementById('time') // id div`a  в котором будет отображатся ход выполнения скрипта
    req.onreadystatechange = function() {  // onreadystatechange - активируется при получении ответа сервера
    if (req.readyState == 4) { // если запрос закончил выполняться
    statusElem.innerHTML = req.statusText // показать статус (Not Found, ОК..)
    if(req.status == 200) { // если статус 200 - выдать ответ пользователю
    alert("Ответ сервера: "+req.responseText); // выдаем ответ
    }
    }
    }
    req.open('GET', '/time.php', true);   // задаем адрес подключения скрипта
    /* объект запроса подготовлен: указан адрес и создана функция onreadystatechange
         для обработки ответа сервера */
    req.send(null);  // отослать запрос
    statusElem.innerHTML = 'Ожидаю ответа сервера...' 
    }

    Серверный обработчик, к которому обратился наш ajax-запрос (в примере это time.php), по сути, ничем не отличается от обычной php страницы.

    Теперь мы перейдем к файлу time.php

    <?php
    sleep(2);
    setlocale(LC_TIME, 'ru_RU.CP1251', 'rus_RUS.CP1251', 'Russian_Russia.1251');
    $time = strftime("%H:%M:%Sn");
    $unix_time = time();
    echo "<p>Человеческое время: $time <br> Unix время: $unix_time";
    ?>