2010-02-22 3 views
0

Я сохраняю переменную сеанса при вставке комментария .. называется user_message .. , и я хочу, когда пользователь_массемблер был сохранен, ТОГДА показать сообщение на index.php index.php прямо сейчас:Действие, если isset..php/javascript

<div id="message"> 
<? echo $_SESSION["user_message"]; ?> 
</div> 

Но вам нужно будет обновить (f5) сайт, чтобы увидеть сообщение ПОСЛЕ хранимую ..

Но я хочу, если переменная USER_MESSAGE имеет что-то хранится , затем отображает его.

Надежда йо понимаешь.

+0

Как вы сохраняете комментарий? Ajax? Показать код. – Fenton

+0

Это можно решить только с помощью JavaScript. Сообщение должно быть сохранено через AJAX, и сайт должен быть соответствующим образом обновлен. –

ответ

0

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

Если это так - если вы используете обычную почтовую форму/получатель, то вы можете перенаправить запрос пользователя, на который когда-либо нужна страница, и показать уведомление, используя код @Seb, написанный выше.

Если вы используете ajax для отправки комментария, вы можете вернуть ответ от вызова ajax, уведомив функцию javascript, которая создала вызов ajax, который требуется обновить для страницы, а затем установите для параметра location.href значение что вам нужно.

Однако, если вы хотите обновить страницу для всех пользователей, просматривающих страницу комментариев, как только другой пользователь отправил комментарий, вам потребуется повторный вызов ajax каждые несколько секунд/минут, который проверяет, что что-то изменилось на сервере, и если это так, используйте переменную location.href, чтобы перенаправить пользователя к другому. Вы не можете сделать это, если полагаетесь только на переменную сеанса, сохраненную на компьютере комментатора, поскольку она доступна только в том случае, если исходный комментатор использует ваш сайт.

0
<?php if(isset($_SESSION["user_message"])): ?> 
    <div id="message"> 
    <? echo $_SESSION["user_message"]; ?> 
    </div> 
<?php endif; ?> 
0

Я рекомендую использовать Javascript, если вы хотите, чтобы сообщение отображалось на той же странице, что и в форме комментариев. Если вы используете jQuery http://jquery.com/, вы можете сделать что-то вроде этого.

$('form#CommentFormID').submit(function() { 
    var message = $('form#CommentFormID textarea#comment').html(); 
    $('body').append('<div id="message">' + message + '</div'); 
}); 

Не пробовал, но он должен работать нормально.

Смежные вопросы