Создание форума без обновления страницы вручную (без AJAX или Javascript) - PullRequest
3 голосов
/ 22 мая 2011

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

Пока мой форум выглядит хорошо, но у него есть одна большая проблема. Когда я вошел в систему, я сразу вижу свои сообщения. Но когда кто-то опубликовал что-то промежуточное, я вижу это, только когда публикую новую реакцию или обновляю страницу вручную. Конечно, это очень раздражает.

Я знаю, что это можно исправить с помощью AJAX и / или Javascript, но проблема в том, что мой форум должен работать без этих двух вещей. Поэтому я искал решения, но не нашел того, что искал.

Каждый ответ, который я нашел, использует Javasript или Ajax. Когда я писал свой вопрос здесь, я основал еще один симулятор, который выглядит одинаково («Обновить Div, Table или TR без перезагрузки страницы и без использования Ajax»), но когда я посмотрел в ответ, я увидел Javasript. Так что это все еще не то, что я ищу.

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

Кирстен

Ps: извините, если в моем английском есть небольшие ошибки

Вот пример моего кода

include('jeugdhulp_2-0_connectie.php');
include('klasses/Reacties.class.php');  

$reactie = new Reacties();
$stellingen = $reactie->ToonStelling();

//$recenteactiviteiten = $reactie->ToonRecenteReacties();

if(!empty($_POST['tekst_gebruiker']))
{
    $reactie->Reactie = $_POST['tekst_gebruiker'];
    $reactie->ID = $_SESSION["gebruikersid"];       
    try
    {
        $reactie->Save();
        //$reactie->ToonStelling();
        //$feedback = "Uw gegevens werden bewaard!";
    }
    catch(Exception $e)
    {
        $feedback = $e->getMessage();
    }
}
else
{
    $feedback = "";
}
//altijd recente reacties laten zien
$recenteactiviteiten = $reactie->ToonRecenteReacties();

Ответы [ 4 ]

1 голос
/ 22 мая 2011

Это как-то похоже на то, как работает Facebook, который передает данные пользователям, а не ждет, пока пользователи перезагрузят страницу.У меня есть несколько очень интересных источников для вас, может быть, вы найдете там что-то значимое:)

Вы когда-нибудь слышали о программировании комет раньше?Это помогает вам передавать данные пользователям «без явного запроса браузера».

Проект Ape также является полезным местом для просмотра.Это облегчает Ajax Push для сети в реальном времени, и это то, что вы ищете.

Приятного открытия и помните, что без Javascript и AJAX вы ничего не сможете сделать, чтобы ваш форум был realtime .

0 голосов
/ 22 мая 2011

Если вы ненавидите JavaScript, используйте <iframe> и meta refresh

0 голосов
/ 22 мая 2011

вы можете использовать meta refresh (в конце концов, в кадре), но это не будет в реальном времени; meta-refresh использует таймер для автоматического вызова страницы

edit: с ajax это также не будет в реальном времени, если вы не «прослушиваете» обновления, передаваемые сервером через соединение, которое вы делаете обратно к серверу; иначе вы бы использовали таймер, все равно

0 голосов
/ 22 мая 2011

Отсутствует при использовании Ajax и Javascript. HTML является статическим и отображает новые данные только при перезагрузке страницы. Короче говоря, вы не можете

...