и сделал регистрацию по аналогии. Всё получилось. Теперь хочу сделать так: если пользователь авторизован, то по нажатию кнопки выход, его перебрасывает на файл уничтожающий переменные $_SESSION, но страницу не перезагружает.
Пытаюсь сделать так, но у мну ничо не получается
<div id="result">
<form onsubmit="return SendExit(form)">
<input type="submit" class="vyhod" value="">
</form>
</div>
function SendExit(form) {
// создаем новое подключение
var AJAX = new AjaxRequest('modules/registration/exit.php');
// определяем функцию на выполнение запроса
AJAX.OnLoad(myOnLoad);
// определяем функцию на завершение запроса
AJAX.OnComplete(myOnComplete);
}
function myOnLoad() {
ge('result').innerHTML = '<center><img class="loading" src="img/loading.gif"></center>';
}
function myOnComplete(result) {
ge('result').innerHTML = result;
}
Нажимаю на кнопку выход, но ничего не происходит
Второй вопрос таков: Гость заходит в новости, но не может добавлять комментарии. Решив добавить комментарий он авторизуется, но так как авторизация выполнена на AJAX вся страница не перезагружается, а только блок авторизации. Авторизованный пользователь видит: вы не можете добавлять комментарии, в то время как он авторизован на сайте. Как можно решить эту проблему.
З.Ы Зараннее спасибо за ответы
Спустя 13 минут, 54 секунды (7.12.2009 - 23:29) Romms написал(а):
а отправлять данные не надо? Почитай внимательно про AJAX(посмотри примеры)
Спустя 6 минут, 47 секунд (7.12.2009 - 23:36) denis39 написал(а):
Отправлять ничего не надо. Мне нужно чтоб без перезагрузки всей страницы по нажатию кнопки выход подгружался файл, уничтожающий переменные $_SESSION и на момент обработки показывалось "Загрузка..."
Спустя 2 минуты, 13 секунд (7.12.2009 - 23:38) denis39 написал(а):
Цитата (Romms @ 7.12.2009 - 20:29) |
а отправлять данные не надо? Почитай внимательно про AJAX(посмотри примеры) |
Примеры посмотрел. Сделал вродь правильно (хз правильно или нет ), но не работает. Уверен, что ошибка наверн из-за невнимательности. Наверн пропустил что-то
Спустя 4 минуты, 35 секунд (7.12.2009 - 23:43) Romms написал(а):
Цитата |
Отправлять ничего не надо |
как раз то надо!! отправлять надо, в переносном значению - "а нука удали сессию"
В смысле надо сделать обращения к серверу! Иначе как он узнает что, уже надо удалить сессию?
передать "NULL";
Спустя 2 минуты, 59 секунд (7.12.2009 - 23:46) Romms написал(а):
краткий пример:
var url = "/poll.php";
AJAX.open("GET",url,true);
AJAX.send(null);
Спустя 7 минут, 47 секунд (7.12.2009 - 23:54) denis39 написал(а):
Вот так?
<script>
function SendExit(form) {
// создаем новое подключение
var url = 'modules/registration/exit.php';
// определяем функцию на выполнение запроса
AJAX.OnLoad(myOnLoad);
// определяем функцию на завершение запроса
AJAX.OnComplete(myOnComplete);
AJAX.open("GET",url,true);
AJAX.send(null);
}
function myOnLoad() {
ge('result').innerHTML = '<center><img class="loading" src="img/loading.gif"></center>';
}
function myOnComplete(result) {
ge('result').innerHTML = result;
}
</script>
Спустя 11 минут, 11 секунд (8.12.2009 - 00:05) Romms написал(а):
твой код - тебе виднее!
Както ты странно делаешь... я делаю так:
Както ты странно делаешь... я делаю так:
var xmlHttp = new XMLHttpRequest();
function updatePoll(){
var url = "/poll.php?r="+Math.random(); //читал что правильнее додавать чтото типа такого, правда зачем незнаю
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
xmlHttp.onreadystatechange = redrawPoll;
}
function redrawPoll(){
if (xmlHttp.readyState==4){
var response = xmlHttp.responseText;
document.getElementById("poll").innerHTML=response;
}
}
Спустя 1 минута, 54 секунды (8.12.2009 - 00:07) denis39 написал(а):
Я опираюсь вот на эту тему http://phpforum.ru/index.php?showtopic=19283
Спустя 4 минуты, 38 секунд (8.12.2009 - 00:11) Romms написал(а):
Цитата |
Я опираюсь вот на эту тему http://phpforum.ru/index.php?showtopic=19283 |
ты б сразу так... правда я непонимаю зачем?(зачем класс) тут и так ничего сложного...
Спустя 8 часов, 36 минут, 12 секунд (8.12.2009 - 08:48) denis39 написал(а):
Я попробовал по твоему коду. Всё норм получилось, ток интеретуют два момента: почему после выхода кидает на главную (у меня в коде рефреша нету) и как туда записать "загрузка..." ???
Спустя 34 секунды (8.12.2009 - 08:48) denis39 написал(а):
По второму вопросу можешь что подсказать?
Спустя 12 минут, 47 секунд (8.12.2009 - 09:01) Romms написал(а):
Цитата |
почему после выхода кидает на главную |
чтобы не кидало тебе надо "отменить" отсылку формы для этого встав в функцию(после xmlHttp.onreadystatechange = redrawPoll;)
return false;
Цитата |
как туда записать "загрузка..." |
а вот так: (пример)
...
xmlHttp.send(null);
// после того как отправил данные выводишь нужный текст в нужное место...
document.getElementById("poll").innerHTML="Загрузка...";
xmlHttp.onreadystatechange = redrawPoll;
...
Спустя 5 минут, 6 секунд (8.12.2009 - 09:06) denis39 написал(а):
Щас поправлю. Ещё такой вопрос возник: гость заходит в новости, но не может добавлять комментарии. Решив добавить комментарий он авторизуется, но так как авторизация выполнена на AJAX вся страница не перезагружается, а только блок авторизации. Авторизованный пользователь видит: вы не можете добавлять комментарии, в то время как он авторизован на сайте. Как можно решить эту проблему.
Спустя 4 минуты, 39 секунд (8.12.2009 - 09:11) Romms написал(а):
обновить блок новостей через AJAX
либо перезагрузить страницу(с помощью AJAX)
либо перезагрузить страницу(с помощью AJAX)
Спустя 30 минут (8.12.2009 - 09:41) denis39 написал(а):
С кодом не поможешь? Или почитать отправь куданибудь