# 1
Тема: Ajax login panel by me =)
pozitiv
SF Team
паZитифф
SF Support Team
Почетный SFСообщений: 1676
Откуда: Киев
Зарегистрирован: 18 Ноября 2007, 18:49:13
Сказали спасибо 148 раз Статус: offline
ICQ статус
Опубликовано 09 Марта 2010, 17:11:32
Ajax login panel
Вобщем опять захотелось мне побаловатся с аяксом, да и припомнить азы=)
Решил ковырять юзерпанель, т.е. вход на сайт без перезагрузки страницы, и вроде получилось))
Краткое описание:
- выскакивают алерты если не ввели логин или пароль;
- запрос в БД с введенными логином и паролем, в случае неправильного ввода выскакивает алерт если логин или пароль введен неправильно;
- если все введено верно - происходит обновление панели со всеми вытикающими(админка, лс и т.д..).
ВАЖНО!
В случае удачного входа на сайт обновляется только панель, но на сайте вы продолжаете висеть как гость. Чтобы сайт загрузился как для пользователя, а не для гостя надо обновить страницу или перейти на другую страницу...
НО! В настройках можно включить автоматическое обновление страницы в случае удачного входа на сайт. После обновления вы окажетесь на тойже странице, с которой был осуществлен вход)) Выключено по дефолту!
Еще важно!
Для корректной работы панели на форуме, на форуме надо подгружать subheader.php с корневой папки, а не с папки forum/. Просто там тоже есть форма входа и тогда они начинают конфликтовать, а точнее прийдется вводит логин и пароль 2 раза...
Установка:
1. Залить все из архива в корневой каталог заменяя все файлы...
2. В используемом subheader.php добавить
<script type='text/javascript' src='".INCLUDES."prototype.js'></script>
<script type='text/javascript'>
ajax = '".INCLUDES."ajax/';
</script>
3. В файл jscript.js который лежит в папке includes добавить
function log() {
var url = ajax+'login.php';
var user_name = $F('user_name');
var user_pass = $F('user_pass');
var pars = 'user_name='+user_name+'&user_pass='+user_pass;
if (user_name == "") {
alert('Вы не ввели логин!')
}
else
{
if (user_pass == "") {
alert('Вы не ввели пароль!')
}
else
{
new Ajax.Updater('logins', url,
{
method: 'post',
parameters: pars,
evalScripts: true
});
}
}
}
вот демо http://demo.ho.ua/
логин demo
пароль demodemo
для 7 будет если кто-то адаптирует))
Все делалось и тестировалось на последней чистой версии выложенной на этом сайте...
Прикрепленные файлы
[Изменил(а) pozitiv , 09 Марта 2010, 23:16:40]
--------------------wmz - Z226856101527
wmr - R513979829437
Все вопросы задавать на форуме. На вопросы заданные в приват или асю неотвечаю!
^ наверх ^
# 2
pozitiv
SF Team
паZитифф
SF Support Team
Почетный SFСообщений: 1676
Откуда: Киев
Зарегистрирован: 18 Ноября 2007, 18:49:13
Сказали спасибо 148 раз Статус: offline
ICQ статус
Опубликовано 09 Марта 2010, 18:26:17
По желанию можно сделать чтобы обновлялись отдельные панели сайта, например чат или "Сейчас на сайте"... Т.е. они будут обновлятся во время логина...
--------------------wmz - Z226856101527
wmr - R513979829437
Все вопросы задавать на форуме. На вопросы заданные в приват или асю неотвечаю!
^ наверх ^
# 3
jikaka
Пользователь
jikaka
Почетный SFСообщений: 1112
Откуда: Питер
Зарегистрирован: 01 Октября 2008, 08:39:58
Сказали спасибо 106 раз Статус: offline
ICQ статус
Опубликовано 09 Марта 2010, 22:13:19
сделай демо на каком-нибудь поддомене...
для 7-ки такое будет?
-------------------- жить хорошо! а хорошо жить - еще лучше!
www.rusfusion.ru - официальная поддержка
^ наверх ^
# 4
pozitiv
SF Team
паZитифф
SF Support Team
Почетный SFСообщений: 1676
Откуда: Киев
Зарегистрирован: 18 Ноября 2007, 18:49:13
Сказали спасибо 148 раз Статус: offline
ICQ статус
Опубликовано 09 Марта 2010, 23:16:19
ладно, вот демо http://demo.ho.ua/
логин demo
пароль demodemo
для 7 будет если кто-то адаптирует))
На демо-сайте используется способ из 2-го поста с аякс обновлением панелей...
[Изменил(а) pozitiv , 09 Марта 2010, 23:18:24]
--------------------wmz - Z226856101527
wmr - R513979829437
Все вопросы задавать на форуме. На вопросы заданные в приват или асю неотвечаю!
^ наверх ^
# 5
rusbody
Пользователь
Любитель FusionСообщений: 282
Зарегистрирован: 28 Января 2008, 00:45:36
Сказали спасибо 7 раз Статус: offline
Опубликовано 10 Марта 2010, 00:13:31
^ наверх ^
# 6
jikaka
Пользователь
jikaka
Почетный SFСообщений: 1112
Откуда: Питер
Зарегистрирован: 01 Октября 2008, 08:39:58
Сказали спасибо 106 раз Статус: offline
ICQ статус
Опубликовано 10 Марта 2010, 07:55:06
во!
классная штука...
-------------------- жить хорошо! а хорошо жить - еще лучше!
www.rusfusion.ru - официальная поддержка
^ наверх ^
# 7
Psc
SF Team
Psc
SF Support Team
Почетный SFСообщений: 2515
Откуда: As is
Зарегистрирован: 10 Ноября 2007, 13:15:07
Сказали спасибо 353 раз Статус: offline
Опубликовано 10 Марта 2010, 16:03:30
Без скриптов не пашет.
Под семерку если переносить то только под jQuery, почему было сразу с ним не сделать?
-------------------- Retired
^ наверх ^
# 8
pozitiv
SF Team
паZитифф
SF Support Team
Почетный SFСообщений: 1676
Откуда: Киев
Зарегистрирован: 18 Ноября 2007, 18:49:13
Сказали спасибо 148 раз Статус: offline
ICQ статус
Опубликовано 10 Марта 2010, 17:07:05
Psc написал:
Без скриптов не пашет.
Под семерку если переносить то только под jQuery, почему было сразу с ним не сделать?
Ясен пень что без скриптов непашет, ведь функции написаны на жаваскриптах)) На джквери неписал, т.к. незнаю его)
--------------------wmz - Z226856101527
wmr - R513979829437
Все вопросы задавать на форуме. На вопросы заданные в приват или асю неотвечаю!
^ наверх ^
# 9
yury
Пользователь
Магистр Дизайна и Верстки
Почетный SFСообщений: 1201
Зарегистрирован: 11 Января 2008, 15:57:19
Сказали спасибо 37 раз Статус: offline
ICQ статус
Опубликовано 10 Марта 2010, 20:23:38
да, было бы хорошо, если на квери. а без явы всеж надо какой то альтернативный код.
например вконтакте есть всплывающие окна как на яве, а если явы нет, то просто открываются без явы
-------------------- Нужен сайт или красивый оригинальный дизайн ?
Только лучший и оригинальный дизайн для php-fusion 6, 7, SF!
www.artcell.ru -правильный выбор!!!
^ наверх ^
# 10
pozitiv
SF Team
паZитифф
SF Support Team
Почетный SFСообщений: 1676
Откуда: Киев
Зарегистрирован: 18 Ноября 2007, 18:49:13
Сказали спасибо 148 раз Статус: offline
ICQ статус
Опубликовано 10 Марта 2010, 20:45:09
Это было написано за пару часов от нефиг делать)) Если посидеть поковырятся, то можно что-нить придумать)
--------------------wmz - Z226856101527
wmr - R513979829437
Все вопросы задавать на форуме. На вопросы заданные в приват или асю неотвечаю!
^ наверх ^
# 11
Psc
SF Team
Psc
SF Support Team
Почетный SFСообщений: 2515
Откуда: As is
Зарегистрирован: 10 Ноября 2007, 13:15:07
Сказали спасибо 353 раз Статус: offline
Опубликовано 11 Марта 2010, 01:12:29
Нуууу доделывай, видишь народу полюбилось. Это требует доделывания же?
-------------------- Retired
^ наверх ^
# 12
jikaka
Пользователь
jikaka
Почетный SFСообщений: 1112
Откуда: Питер
Зарегистрирован: 01 Октября 2008, 08:39:58
Сказали спасибо 106 раз Статус: offline
ICQ статус
Опубликовано 11 Марта 2010, 08:01:22
требует...
-------------------- жить хорошо! а хорошо жить - еще лучше!
www.rusfusion.ru - официальная поддержка
^ наверх ^
# 13
pozitiv
SF Team
паZитифф
SF Support Team
Почетный SFСообщений: 1676
Откуда: Киев
Зарегистрирован: 18 Ноября 2007, 18:49:13
Сказали спасибо 148 раз Статус: offline
ICQ статус
Опубликовано 11 Марта 2010, 18:21:11
Ну чтож...будем посмотреть)
--------------------wmz - Z226856101527
wmr - R513979829437
Все вопросы задавать на форуме. На вопросы заданные в приват или асю неотвечаю!
^ наверх ^
# 14
pozitiv
SF Team
паZитифф
SF Support Team
Почетный SFСообщений: 1676
Откуда: Киев
Зарегистрирован: 18 Ноября 2007, 18:49:13
Сказали спасибо 148 раз Статус: offline
ICQ статус
Опубликовано 12 Марта 2010, 18:50:44
Нашел временное решение при отключенном js у пользователя
в файле user_info_panel.php строку
<input type='button' onclick='log();' name='login' value='".$locale['on126']."' class='button'>
заменить на
<div id='noscr'></div>
<script language='javascript'>
document.getElementById('noscr').innerHTML = \"<input type='button' onclick='log();' name='login' value='".$locale['on126']."' class='button'>\";
</script>
<noscript>
<input type='submit' name='login' value='".$locale['on126']."' class='button'>
</noscript>
тоже самое сделать с файлом login.php
ну и если кому интересно - упрощенная функция log
function log() {
var url = ajax+'login.php';
var user_name = $F('user_name');
var user_pass = $F('user_pass');
var pars = 'user_name='+user_name+'&user_pass='+user_pass;
if (user_name == "" || user_pass == "") {
alert('Вы не ввели логин или пароль!')
}
else
{
new Ajax.Updater('logins', url,
{
method: 'post',
parameters: pars,
evalScripts: true
});
}
}
ЗЫ: на демо сайте не обновлял
[Изменил(а) pozitiv , 12 Марта 2010, 18:53:57]
--------------------wmz - Z226856101527
wmr - R513979829437
Все вопросы задавать на форуме. На вопросы заданные в приват или асю неотвечаю!
^ наверх ^
# 15
pozitiv
SF Team
паZитифф
SF Support Team
Почетный SFСообщений: 1676
Откуда: Киев
Зарегистрирован: 18 Ноября 2007, 18:49:13
Сказали спасибо 148 раз Статус: offline
ICQ статус
Опубликовано 12 Марта 2010, 19:18:00
Способ второй, лучше первого..
функцию function log() {....} заменить на
function login(event) {
var form = Event.element(event);
var url = ajax+'login.php';
var user_name = $F('user_name');
var user_pass = $F('user_pass');
var pars = 'user_name='+user_name+'&user_pass='+user_pass;
if (user_name == "" || user_pass == "") {
alert('Вы не ввели логин или пароль!')
}
else
{
new Ajax.Updater('logins', url,
{
method: 'post',
parameters: pars,
evalScripts: true
});
}
Event.stop(event);
return false;
}
в файле user_info_panel.php строку
<input type='button' onclick='log();' name='login' value='".$locale['on126']."' class='button'>
заменить на
<input type='submit' name='login' value='".$locale['on126']."' class='button'>
<script type='text/javascript'>
$('logform').observe('submit', login);
</script>
и строку
<form align='center' name='loginform' method='post' action='".FUSION_SELF."'>
заменить на
<form id='logform' align='center' name='loginform' method='post' action='".FUSION_SELF."'>
или можно добавить выделенное...
тоже самое сделать с файлом login.php
опять таки на демо сайте это не обновлено..
--------------------wmz - Z226856101527
wmr - R513979829437
Все вопросы задавать на форуме. На вопросы заданные в приват или асю неотвечаю!
^ наверх ^
# 16
jikaka
Пользователь
jikaka
Почетный SFСообщений: 1112
Откуда: Питер
Зарегистрирован: 01 Октября 2008, 08:39:58
Сказали спасибо 106 раз Статус: offline
ICQ статус
Опубликовано 12 Марта 2010, 22:22:29
ты лучше снова архив выложи, а то людей запутаешь...
-------------------- жить хорошо! а хорошо жить - еще лучше!
www.rusfusion.ru - официальная поддержка
^ наверх ^
# 17
Psc
SF Team
Psc
SF Support Team
Почетный SFСообщений: 2515
Откуда: As is
Зарегистрирован: 10 Ноября 2007, 13:15:07
Сказали спасибо 353 раз Статус: offline
Опубликовано 14 Марта 2010, 12:34:16
Изврат с носкрптом. Что мешает делать submit и отклонять отправку на javascript если он есть?
Вот как я сделал
<input onclick="ash_send();return false;" name="post_shout" value="Сказать" class="button" type="submit">
но это код для чатика на аяксике, потому адаптируй под себя.
-------------------- Retired
^ наверх ^
# 18
pozitiv
SF Team
паZитифф
SF Support Team
Почетный SFСообщений: 1676
Откуда: Киев
Зарегистрирован: 18 Ноября 2007, 18:49:13
Сказали спасибо 148 раз Статус: offline
ICQ статус
Опубликовано 14 Марта 2010, 13:40:15
jikaka написал:
ты лучше снова архив выложи, а то людей запутаешь...
Так я выложил второй вариант где все уже учтено))
--------------------wmz - Z226856101527
wmr - R513979829437
Все вопросы задавать на форуме. На вопросы заданные в приват или асю неотвечаю!
^ наверх ^
# 19
dicoz
Пользователь
dicoz
Любитель FusionСообщений: 215
Откуда: Украина
Зарегистрирован: 19 Октября 2008, 21:16:55
Сказали спасибо 5 раз Статус: offline
ICQ статус
Опубликовано 04 Июня 2010, 17:09:20
Даешь для 7рки и под JQUERY. А я в свою очередь даю донат в размере 3$ на пиво, может еще кто даст и будет тебе еще и на чипсы
-------------------- Осваиваю 3 тий палец в изучении движка, нечего их всего 5
<hr>
Чем больше я узнаю, тем больше понимаю что нечего не знаю (с)
^ наверх ^
# 20
Psc
SF Team
Psc
SF Support Team
Почетный SFСообщений: 2515
Откуда: As is
Зарегистрирован: 10 Ноября 2007, 13:15:07
Сказали спасибо 353 раз Статус: offline
Опубликовано 04 Июня 2010, 18:28:27
Был уже где то, просто я как обычно заигнорил его. Короче поищите.
-------------------- Retired
^ наверх ^