1. Мы продолжаем публиковать интересные статьи на тему SocialEngine 4. Одна из статей посвящена правильному выбору сервера для вашей социальной сети, а другая содержит советы по увеличению производительности платформы. Также мы добавили большую статью о пользовательских уровнях. Ознакомиться со статьями вы можете в разделе Вопросы и Ответы SocialEngine 4.
  2. Вам кажется, что ваша версия SocialEngine 4, работает медленно?

    Голосуйте. Пишите свою версию системы, железо на чем работает и количество пользователей. Будем увеличивать производительность :-) Подробнее

  3. В связи с участившимися случаями попыток продажи пользователями форума различных "сборок" коммерческих социальных платформ, обычно основанных на SocialEngine 3, вводится новое правило для форума. Запрещается создание тем или размещение в уже созданных предложений о продаже или размещение ссылок на сайты, где происходит продажа "сборок". Пользователи, которые продолжат свою коммерческую деятельность в данном направлении, будут заблокированы. Подробнее.

Быстрое перенаправление средствами php

Discussion in 'PHP' started by J.O.K.E.R., Dec 16, 2010.

  1. J.O.K.E.R. Thread starter User


    Offline
    Message Count:
    152
    Likes Received:
    27
    Задача заключается в том, чтобы после добавления комментария средствами php быстро перенаправить пользователя на исходную страничку минуя отображение в адресной строке браузера имени файла-обработчика формы (comments.php).

    Данную задачу мы решим с помощью применения стандартной функции header(), которая предназначена для добавления заголовка к документу, пересылаемогу браузеру. В частности нам нужно организовать с помощью неё перенаправление пользователя на указанный в её параметре URL-адрес.

    Поскольку вызов header() должен осуществляться до любого оператора вывода в сценарии, то нам нужно воспользоваться фукцией буферизации ob_start();.

    Итак, откройте ваш файл-обработчик формы комментариев. У меня он называется comments.php и выполните следующие действия:

    Code:
    ob_start();

    Code:
    $url = "index.php?cat=".$cat."&id=".$id."";

    Code:
    echo "<html><head><meta http-equiv='Cache-Control' content='no-cache'><meta http-equiv='Refresh' content='0; URL=/index.php?cat=$cat&id=$id'></head></html>";
    exit();

    Значение атрибута URL мета-тэга определяет адрес странички, которую необходимо обновить, чтобы увидеть добавленный комментарий.

    Code:
    exit();

    URL-адрес можно указывать в этой функции не только через переменную, определенную ранее, но и прямо внутри этой функции в качестве строкового параметра. Примеры вызовов функции header() можете наблюдать в приведенном ниже примере.

    Code:
    @header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME']."?id=$id");

    Code:
    echo ob_get_clean();

    Таким образом, возвратится текущее содержимое буфера и ?удалиться текущий буфер.

    Данную технологию перенаправления можете наблюдать на моём сайте. Чтобы её проверить, просто добавьте комментарий к этой заметке.

    На этом всё. Жду положительных отзывов! =)

Share This Page

All rights reserved SocEngine.ru ©