LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
28.05.2012, 02:21:14 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: 1 2 [Все]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: AJAX проверка e-mail и имени пользователя.  (Прочитано 7308 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Silent_Breeze
Осваиваюсь на форуме
***

Репутация: +31/-0
Offline Offline

Сообщений: 158



« : 21.10.2009, 03:44:09 »

Проверка имени пользователя и e-mail, регистрируемого пользователя на уникальность без перезагрузки страницы. Работает во всех браузерах. кроме IE 6.

Делалось и проверялось для версии VirtueMart 1.1.3, но также подходит для версии 1.1.4.

Находим файл: administrator/components/com_virtuemart/html/checkout_register_form.php
Открываем и ищем строчку 23:
Код:
$missing = vmGet( $_REQUEST, "missing", "" );

if (!empty( $missing )) {
echo "<script type=\"text/javascript\">alert('".$VM_LANG->_('CONTACT_FORM_NC',false)."'); </script>\n";
}

Заменяем на:
Код:
$missing = vmGet( $_REQUEST, "missing", "" );

?>

<script language="javascript" type="text/javascript">



function getUsername(){
var form = document.adminForm;
var unam = form.username.value;

if( !$('username_ticker') )
$('username_input').innerHTML = $('username_input').innerHTML + "<div id=\"username_ticker\" style=\"padding-top:10px;\"></div>";

$('username_field').value = unam;

if( form.username.value.length < 3 ) {
$('username_ticker').innerHTML = '<span style="background:#FFFFCC;border:1px solid #CC0000;color:red;font-weight:bold;padding:5px 5px 5px 5px;">Неверное Имя пользователя.</span>';
} else {
$('username_ticker').innerHTML = "<img src=\"<?php echo JURI::base()."images/wait.gif";?>\">&nbsp;Checking";
var url = 'index.php?option=com_virtuemart&tasked=chkuserinfo&format=raw&what=uname';
url = url + '&uname=' + form.username.value;

new Ajax(url, {
method: 'get',
onComplete: function(x){
if(x == 1) {
$('username_ticker').innerHTML = '<span style="background:#FFFFCC;border:0px solid #CC0000;color:red;font-weight:bold;line-hight:30px;padding:5px 5px 5px 5px;">Это Имя пользователя (Логин) уже занято. </br> Пожалуйста используйте другое Имя пользователя</span>';
} else {
$('username_ticker').innerHTML = '<span style="border:1px none transparent;color:green;padding:5px 5px 5px 5px;">Имя пользователя (Логин) \''+ $('username_field').value +'\' свободно. Можно продолжать регистрацию</span>';
}
}
}).request();

}
}


function getEmail(){

var form = document.adminForm;
var eadd = form.email.value;

if( !$('email_ticker') )
$('email_input').innerHTML = $('email_input').innerHTML + "<div id=\"email_ticker\" style=\"padding-top:10px;\"></div>";

$('email_field').value = eadd;

if( !(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(form.email.value))) {
$('email_ticker').setHTML('<span style="background:#FFFFCC;border:1px solid #CC0000;color:red;font-weight:bold;padding:5px 5px 5px 5px;">Вы ввели неправильный e-mail адрес.</span>');
} else {
$('email_ticker').setHTML("<img src=\"<?php echo JURI::base()."images/wait.gif";?>\">&nbsp;Checking");
var url = 'index.php?option=com_virtuemart&tasked=chkuserinfo&format=raw&what=email';
url = url + '&email=' + form.email.value;

new Ajax(url, {
method: 'get',
onComplete: function(x){
if(x == 1) {
$('email_ticker').setHTML('<span style="background:#FFFFCC;border:1px solid #CC0000;color:red;font-weight:bold;padding:5px 5px 5px 5px;">Этот e-mail уже зарегистрирован.</span>');
} else {
$('email_ticker').setHTML('<span style="border:1px none transparent;color:green;padding:5px 5px 5px 5px;">Этот e-mail \''+ $('email_field').value +'\' свободен. Можно продолжать регистрацию.</span>');
}
}
}).request();

}
}



</script>
<?php

if (!empty( $missing )) {
echo "<script type=\"text/javascript\">alert('".$VM_LANG->_('CONTACT_FORM_NC',false)."'); </script>\n";
}

Сохраняем файл в UTF-8 без ВОМ

Находим файл: administrator/components/com_virtuemart/classes/ps_userfield.php

Строка 390 после следующих строк:
Код:
case 'password':
case 'password2':
echo '<input type="password" id="'.$field->name.'_field" name="'.$field->name.'" size="30" class="inputbox" />'."\n";
    break;

добавляем следующий код:
Код:
case 'email':
echo '<input type="text" id="'.$field->name.'_field" name="'.$field->name.'" size="30" class="inputbox" onchange="getEmail();" />'."\n";
    break;

case 'username':
echo '<input type="text" id="'.$field->name.'_field" name="'.$field->name.'" size="30" maxlength="25" onchange="getUsername();" class="inputbox" />'."\n";
    break;


После добавления должно выглядеть примерно так:
Код:
case 'password':
case 'password2':
echo '<input type="password" id="'.$field->name.'_field" name="'.$field->name.'" size="30" class="inputbox" />'."\n";
    break;

case 'email':
echo '<input type="text" id="'.$field->name.'_field" name="'.$field->name.'" size="30" class="inputbox" onchange="getEmail();" />'."\n";
    break;

case 'username':
echo '<input type="text" id="'.$field->name.'_field" name="'.$field->name.'" size="30" maxlength="25" onchange="getUsername();" class="inputbox" />'."\n";
    break;

    default:

Сохраняем файл

Находим файл: /components/com_virtuemart/virtuemart.php
Строка 21: вставляем после "global $mosConfig_absolute_path, $product_id, $vmInputFilter, $vmLogger;" следующий код:
Код:
$tasked = JRequest::getVar( 'tasked' );

if($tasked=="chkuserinfo"){
$database = & JFactory::getDBO();
$email = JRequest::getVar( 'email' );
$uname = JRequest::getVar( 'uname' );

$what = JRequest::getVar( 'what' );

$usercount = 0;
$emailcount = 0;


if($what == "uname"){
$database->setQuery("SELECT COUNT(*) FROM #__users WHERE username='$uname'");
$usercount = $database->loadResult();
if($usercount)
echo "1";
else
echo "0";

} else if ($what == "email") {
$database->setQuery("SELECT COUNT(*) FROM #__users WHERE email='$email'");
$emailcount = $database->loadResult();

if($emailcount)
echo "1";
else
echo "0";
}


die();
}

Сохраняем файл.

В папку сайта images закидываем файл-картинку, который во вложении. Он нужен будет для анимации пока идёт проверка.

Готово...

Удачи всем!


* wait.gif (0.42 Кб, 43x11 - просмотрено 2589 раз.)
« Последнее редактирование: 17.12.2010, 15:37:54 от Silent_Breeze » Записан
beagler
Moderator
*****

Репутация: +316/-4
Offline Offline

Пол: Мужской
Сообщений: 2994


http://beagler.ru/


« Ответ #1 : 21.10.2009, 10:04:57 »

+1 адназначна, так держать
Записан
VZup
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 27


« Ответ #2 : 27.10.2009, 17:20:24 »

все сделал по инструкции, не работает, кеш чистил
Записан
Silent_Breeze
Осваиваюсь на форуме
***

Репутация: +31/-0
Offline Offline

Сообщений: 158



« Ответ #3 : 27.10.2009, 17:45:35 »

все сделал по инструкции, не работает, кеш чистил

Давайте адрес сайта - посмотрю...
Записан
VZup
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 27


« Ответ #4 : 27.10.2009, 17:53:44 »

адрес в личку написал
Записан
Silent_Breeze
Осваиваюсь на форуме
***

Репутация: +31/-0
Offline Offline

Сообщений: 158



« Ответ #5 : 27.10.2009, 19:12:39 »

Проверьте ещё раз правильно ли вы вставили код? Номера строк необязательно будут совпадать, тем более, если вы уже правили код файлов. Ориентируйтесь по кускам кода до и после вставляемых частей.
Записан
VZup
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 27


« Ответ #6 : 27.10.2009, 20:34:13 »

еще раз все проверил, увы, не работает

может еще какой-то файлик править нужно?
Записан
Silent_Breeze
Осваиваюсь на форуме
***

Репутация: +31/-0
Offline Offline

Сообщений: 158



« Ответ #7 : 27.10.2009, 23:31:25 »

Во вложении файлы, которые правились. Разложите их ПРАВИЛЬНО по нужным папкам.

* files.zip (15.13 Кб - загружено 163 раз.)
Записан
VZup
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 27


« Ответ #8 : 28.10.2009, 11:25:22 »

Как оказалось, у меня вообще не происходит проверка на дублирование имени и электронной почты при регистрации. Ни с помощью AJAX, ни в обычном режиме. Может галку где поставить? Вообще догнать не могу Sad
Записан
Silent_Breeze
Осваиваюсь на форуме
***

Репутация: +31/-0
Offline Offline

Сообщений: 158



« Ответ #9 : 28.10.2009, 15:23:30 »

Попробуйте с другим шаблоном.
Записан
VZup
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 27


« Ответ #10 : 28.10.2009, 17:12:00 »

Попробуйте с другим шаблоном.
ё-ё-ё-ё-ё.... Спасибо за подсказку, когда делал шаблон, забыл вставить вывод сообщений
Записан
Silent_Breeze
Осваиваюсь на форуме
***

Репутация: +31/-0
Offline Offline

Сообщений: 158



« Ответ #11 : 28.10.2009, 18:14:49 »

Всегда полжалуйста Azn
Записан
Dimas888
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 59

Учусь....


« Ответ #12 : 29.10.2009, 00:58:48 »

Подскажите где почитать про вывод сообщений а то в моём шаблоне тоже не работает а в другом работает?
Записан
Dimas888
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 59

Учусь....


« Ответ #13 : 29.10.2009, 11:16:20 »

Спасибо разобрался надо было вставить ещё <?php JHTML::_('behavior.mootools'); ?>
Записан
Figaro
Захожу иногда
**

Репутация: +2/-0
Offline Offline

Сообщений: 11


« Ответ #14 : 11.02.2010, 02:15:01 »

Проблема!

После регистрации, когда войти в управления своей записью - пропадает поля e-mail и логин

Кто что подскажет
Записан
Dimas888
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 59

Учусь....


« Ответ #15 : 11.02.2010, 20:23:13 »

В настройках магазина,  управление полями вводимых пользователем, включить отображать показать в разделе учётной записью. Сообщение здесь немного не в тему
Записан
Figaro
Захожу иногда
**

Репутация: +2/-0
Offline Offline

Сообщений: 11


« Ответ #16 : 12.02.2010, 00:40:40 »

Cобщение в тему!

После установки даного хака!

1. Регистрация работает нормально - поля проверяются с помощью AJAX

2. Но если пользователь входит в кправление своей учетной записью то в поля e-mail и user пусто!

3. Если убрать хак то в поле e-mail появляется e-mail - который пользователь вводил при регистрации...

4. Как исправить?
« Последнее редактирование: 12.02.2010, 00:56:06 от Figaro » Записан
Silent_Breeze
Осваиваюсь на форуме
***

Репутация: +31/-0
Offline Offline

Сообщений: 158



« Ответ #17 : 12.02.2010, 02:25:09 »

просто поле e-mail ждёт вввода для проверки....
Записан
Figaro
Захожу иногда
**

Репутация: +2/-0
Offline Offline

Сообщений: 11


« Ответ #18 : 12.02.2010, 16:22:05 »

Как его исправить
Записан
bigbug
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Сообщений: 12


« Ответ #19 : 17.02.2010, 17:29:59 »

Действительно, подскажите как исправить. Функция мега-клёвая, но этот недостаток мешает.
Записан
Shin
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Сообщений: 8


« Ответ #20 : 22.10.2010, 00:26:59 »

Вместо
Цитировать
case 'email':
               echo '<input type="text" id="'.$field->name.'_field" name="'.$field->name.'" size="30" class="inputbox" onchange="getEmail();" />'."\n";
                  break;
               
            case 'username':
               echo '<input type="text" id="'.$field->name.'_field" name="'.$field->name.'" size="30" maxlength="25" onchange="getUsername();" class="inputbox" />'."\n";
                  break;

вставить
Цитировать
case 'email':
               echo '<input type="text" id="'.$field->name.'_field" name="'.$field->name.'" size="30" class="inputbox" onchange="getEmail();"  value="'. ($db->sf($field->name, true, false)?$db->sf($field->name, true, false):'').'"/>'."\n";
                  break;
               
            case 'username':
               echo '<input type="text" id="'.$field->name.'_field" name="'.$field->name.'" size="30" maxlength="25" onchange="getUsername();" class="inputbox"  value="'. ($db->sf($field->name, true, false)?$db->sf($field->name, true, false):'').'"/>'."\n";
                  break;

тогда в аккаунте будет заполнено.
Кстати, в ИЕ 6 тоже работает отлично. Спасибо автору темы.
Записан
beagler
Moderator
*****

Репутация: +316/-4
Offline Offline

Пол: Мужской
Сообщений: 2994


http://beagler.ru/


« Ответ #21 : 17.12.2010, 12:52:56 »

только ещё надо сообщение подправить - вместо "Можно продолжать регисрацию" - "Можно продолжать регистрацию"
Записан
Silent_Breeze
Осваиваюсь на форуме
***

Репутация: +31/-0
Offline Offline

Сообщений: 158



« Ответ #22 : 17.12.2010, 15:38:28 »

угу. Поправил...
Записан
beagler
Moderator
*****

Репутация: +316/-4
Offline Offline

Пол: Мужской
Сообщений: 2994


http://beagler.ru/


« Ответ #23 : 17.12.2010, 17:39:11 »

реализовал, поставил свои стили, добавил jquery валидацию остальных полей, туда же регистрацию юрлиц, со скрытием/показом блока в зависимости от вида покупателя - просто конфета Azn
Записан
beagler
Moderator
*****

Репутация: +316/-4
Offline Offline

Пол: Мужской
Сообщений: 2994


http://beagler.ru/


« Ответ #24 : 18.12.2010, 01:16:23 »

и ещё вместо
Код:
$email = JRequest::getVar( 'email' );
$uname = JRequest::getVar( 'uname' );
лучше
Код:
$email = $vmInputFilter->safeSQL(JRequest::getVar( 'email' ));
$uname = $vmInputFilter->safeSQL(JRequest::getVar( 'uname' ));
Записан
TakT
Осваиваюсь на форуме
***

Репутация: +5/-0
Offline Offline

Пол: Мужской
Сообщений: 111


« Ответ #25 : 07.01.2011, 21:10:21 »

и ещё вместо
Код:
$email = JRequest::getVar( 'email' );
$uname = JRequest::getVar( 'uname' );
лучше
Код:
$email = $vmInputFilter->safeSQL(JRequest::getVar( 'email' ));
$uname = $vmInputFilter->safeSQL(JRequest::getVar( 'uname' ));

кстати после этих изминений только у меня перестает рабоатать AJAX

срабатывает gif ка и все, и не чего не выдеат
Записан
gaa
Гость
« Ответ #26 : 14.01.2011, 22:36:43 »

Доброго здоровья!

Поставил все как сказано.
Но....
не работает нормально,
огоньки бегают и даже, что то сравнивает, делает...

И на уже занятые имя пользователя и емейл пишет -
Этот e-mail  свободен. Можно продолжать регистрацию.

Где и что поправить, чтобы он видел занятые логины и почту?
И писал что они заняты.

Стоит на локальной машине, работает на Denwer
VirtueMart 1.1.4 stable Joomla 1.5.16
« Последнее редактирование: 14.01.2011, 22:43:45 от gaa » Записан
korkunov
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 143



« Ответ #27 : 19.01.2011, 01:03:43 »

Спасибо разобрался надо было вставить ещё <?php JHTML::_('behavior.mootools'); ?>
В самое начало файла VirtueMart.php
Записан
korkunov
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 143



« Ответ #28 : 19.01.2011, 01:31:36 »

Hi. Thanks.
Вот еще бы проверку паролей на Аяксе.
Я ПХП не силен. может кто прикрутит скрипт, У мну не получилось  Angry
Это в checkout_register_form.php в начале, где скрипт...

function passwordMatch()
{
if ( password2 != "")
   {
   if ( password == password2 )
      {
         document.getElementById("password2").setAttribute("class", "user-valid");
         document.getElementById('password2').innerHTML="";
      }
   else
      {
         document.getElementById("password2").setAttribute("class", "user-invalid");
         document.getElementById('password2').innerHTML="Пароль: Введенные значения не совпадают!";   
      }
   }
else
   {
      document.getElementById("password2").setAttribute("class", "user-invalid");
      document.getElementById('password2').innerHTML="Поле обязательно к заполнению!";
   }
}
Записан
korkunov
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 143



« Ответ #29 : 19.01.2011, 01:33:25 »

И еще в догонку.
сверстать бы эту страницу (регистрации) в виде таблицы, т.е. несколько колонок. А то она длинная, как то неказисто  Sad
Записан
TakT
Осваиваюсь на форуме
***

Репутация: +5/-0
Offline Offline

Пол: Мужской
Сообщений: 111


« Ответ #30 : 19.01.2011, 10:37:48 »

И еще в догонку.
сверстать бы эту страницу (регистрации) в виде таблицы, т.е. несколько колонок. А то она длинная, как то неказисто  Sad

ну так ведь это не проблема, там страница регистрации с верстана таблицами (да и не только регистрация Grin)
много знать не надо чтоб вместить все поля в две калонки
Записан
Stim_ka
Осваиваюсь на форуме
***

Репутация: +9/-0
Offline Offline

Пол: Женский
Сообщений: 38



« Ответ #31 : 10.03.2011, 22:45:34 »

Здравствуйте, уважаемые!
хак отличный, при обычной регистрации все работает, но вот при регистрации в корзине - отказывается.
много чего правила в выводе самой корзины. сейчас уже и не помню - где и что. может что-то с чем-то конфликтует или перекрывает...
никак не могу разобраться:(((
Посмотрите, пожалуйста - mladenchik.ru
Записан
Rumato
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 9


« Ответ #32 : 29.04.2011, 07:30:46 »

Добрый день, я всё сделал как было написано, но не работает проверка логина, подскажите в чём может быть проблема?

Записан
Сергеич
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 91


« Ответ #33 : 27.06.2011, 15:32:00 »

К сожалению, на связке Денвер + Joomla 1.5.23 + Вирт 1.1.8 работает криво или я где то ошибся...  Sad
При регистрации в корзине исчезает кнопка "Регистрация", что делает использование данного хака бессмысленным.
« Последнее редактирование: 30.06.2011, 00:42:32 от Сергеич » Записан
rbr
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 2


« Ответ #34 : 09.08.2011, 16:52:47 »

подскажите где копать, всегда говорить что все в порядке, если даже логин и емаил заняты?
Записан
rbr
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 2


« Ответ #35 : 09.08.2011, 16:54:03 »

и еще вопрос, может не в тему, но кто-то сталкивался, организовать логин пользователей по емайлу, а не по логину?
Записан
kiddywear
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 25


« Ответ #36 : 18.11.2011, 17:27:44 »

Такой вопрос у меня при регистрации с корзины пропадает кнопка регистрация. Не могу понять в чем проблема? Кто может помочь? Причем если человек уже зарегистрирован все нормально, кнопка присутствует. Joomla 1.5.22 VirtueMart 1.1.4
« Последнее редактирование: 18.11.2011, 17:36:47 от kiddywear » Записан
kiddywear
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 25


« Ответ #37 : 18.11.2011, 17:41:26 »

К сожалению, на связке Денвер + Joomla 1.5.23 + Вирт 1.1.8 работает криво или я где то ошибся...  Sad
При регистрации в корзине исчезает кнопка "Регистрация", что делает использование данного хака бессмысленным.
А Вы решили как-нибудь данную проблему просто у меня тоже пропадает кнопка регистрация. Спасибо!
Записан
Сергеич
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 91


« Ответ #38 : 18.11.2011, 17:53:04 »

А Вы решили как-нибудь данную проблему просто у меня тоже пропадает кнопка регистрация. Спасибо!
Не решил, к сожалению...
Записан
kiddywear
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 25


« Ответ #39 : 18.11.2011, 18:19:01 »

Не решил, к сожалению...
Разобрался она уходит вниз за границы, теперь ищу как вытянуть данную форму, пробовал через CSS, не то, видно в самой форме надо както увеличивать. Разберусь напишу. Надо где-то здесь копаться скорее всего ps_userfield.php
« Последнее редактирование: 18.11.2011, 18:25:11 от kiddywear » Записан
kiddywear
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 25


« Ответ #40 : 18.11.2011, 22:47:13 »

Так и не получилось, очень жаль. Может у кого такие же проблемы и их удалось решить.
Записан
kiddywear
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 25


« Ответ #41 : 19.11.2011, 00:18:12 »

Переделал чтобы люди не маялись, если нет кнопки регистрация:

 в файл: administrator/components/com_virtuemart/html/checkout_register_form.php добавляем следующий код.
 
Код:
$missing = vmGet( $_REQUEST, "missing", "" );

?>

<script language="javascript" type="text/javascript">



function getUsername(){
var form = document.adminForm;
var unam = form.username.value;

if( !$('username_ticker') )
$('username_input').innerHTML = $('username_input').innerHTML + "<div id=\"username_ticker\" style=\"margin-top:-20px; margin-left:225px;\"></div>";

$('username_field').value = unam;

if( form.username.value.length < 3 ) {
$('username_ticker').innerHTML = '<span style="background:#FFFFCC;border:1px solid #CC0000;color:red;font-weight:bold;padding:3px 3px 3px 3px;">Неверный логин</span>';
} else {
$('username_ticker').innerHTML = "<img src=\"<?php echo JURI::base()."images/wait.gif";?>\">&nbsp;Checking";
var url = 'index.php?option=com_virtuemart&tasked=chkuserinfo&format=raw&what=uname';
url = url + '&uname=' + form.username.value;

new Ajax(url, {
method: 'get',
onComplete: function(x){
if(x == 1) {
$('username_ticker').innerHTML = '<span style="background:#FFFFCC;border:1px solid #CC0000;color:red;font-weight:bold;line-hight:30px;padding:3px 3px 3px 3px;">Логин занят</span>';
} else {
$('username_ticker').innerHTML = '<span style="background:#ffffff;border:1px solid #b7b7b7;color:green;font-weight:bold;padding:3px 3px 3px 3px;">OK</span>';
}
}
}).request();

}
}


function getEmail(){

var form = document.adminForm;
var eadd = form.email.value;

if( !$('email_ticker') )
$('email_input').innerHTML = $('email_input').innerHTML + "<div id=\"email_ticker\" style=\"margin-top:-20px; margin-left:225px;\"></div>";

$('email_field').value = eadd;

if( !(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(form.email.value))) {
$('email_ticker').setHTML('<span style="background:#FFFFCC;border:1px solid #CC0000;color:red;font-weight:bold;padding:3px 3px 3px 3px;">Неправильный e-mail</span>');
} else {
$('email_ticker').setHTML("<img src=\"<?php echo JURI::base()."images/wait.gif";?>\">&nbsp;Checking");
var url = 'index.php?option=com_virtuemart&tasked=chkuserinfo&format=raw&what=email';
url = url + '&email=' + form.email.value;

new Ajax(url, {
method: 'get',
onComplete: function(x){
if(x == 1) {
$('email_ticker').setHTML('<span style="background:#FFFFCC;border:1px solid #CC0000;color:red;font-weight:bold;padding:3px 3px 3px 3px;">E-mail уже зарегистрирован</span>');
} else {
$('email_ticker').setHTML('<span style="background:#ffffff;border:1px solid #b7b7b7;;color:green;font-weight:bold;padding:3px 3px 3px 3px;">OK</span>');
}
}
}).request();

}
}



</script>
<?php

if (!empty( $missing )) {
echo "<script type=\"text/javascript\">alert('".$VM_LANG->_('CONTACT_FORM_NC',false)."'); </script>\n";
}

файл: administrator/components/com_virtuemart/classes/ps_userfield.php
ищем сточку в районе 290
Код:
<div style="width:90%;">';
и 90% заменяем на 100%

Нашел вот такое решение вопроса вроде получилось нормально.
« Последнее редактирование: 19.11.2011, 16:24:04 от kiddywear » Записан
kiddywear
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 25


« Ответ #42 : 20.11.2011, 12:51:29 »

В ie не проверяет имя пользователя если оно на кириллице. На латинице все нормально. Интересно почему?
Записан
kry
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 86



« Ответ #43 : 24.01.2012, 17:57:45 »

Такой вопрос у меня при регистрации с корзины пропадает кнопка регистрация. Не могу понять в чем проблема? Кто может помочь? Причем если человек уже зарегистрирован все нормально, кнопка присутствует. Joomla 1.5.22 VirtueMart 1.1.4
Не проверял, но попробуйте в файл theme.css от VM добавить:
Код:
#register_stretcher input.button {margin-bottom: 54px;}
Записан
N2uM
Давно я тут
****

Репутация: +11/-0
Offline Offline

Пол: Мужской
Сообщений: 359


И каждый день становится субботой


« Ответ #44 : 30.01.2012, 08:53:28 »

мего офигительная вещь... а нет ли такого для стандартной регистрации в Joomla?
Записан
kry
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 86



« Ответ #45 : 30.01.2012, 13:32:11 »

мего офигительная вещь... а нет ли такого для стандартной регистрации в Joomla?
В какой версии VirtueMart использовали?
Записан
Silent_Breeze
Осваиваюсь на форуме
***

Репутация: +31/-0
Offline Offline

Сообщений: 158



« Ответ #46 : 30.01.2012, 14:08:35 »

мего офигительная вещь... а нет ли такого для стандартной регистрации в Joomla?

Для стандартной регистрации можно использовать AlphaRegistration - http://alphaplug.com/index.php/downloads.html?func=fileinfo&id=22
Правда этот компонент только для Joomla 1.5
Записан
N2uM
Давно я тут
****

Репутация: +11/-0
Offline Offline

Пол: Мужской
Сообщений: 359


И каждый день становится субботой


« Ответ #47 : 30.01.2012, 14:13:24 »

Цитировать
Для стандартной регистрации можно использовать AlphaRegistration - http://alphaplug.com/index.php/downloads.html?func=fileinfo&id=22
Правда этот компонент только для Joomla 1.5

спасибо... уже пробовал. Хз может у меня так, но там нет AJAX проверки, и имя может повторятся  Sad
Записан
Silent_Breeze
Осваиваюсь на форуме
***

Репутация: +31/-0
Offline Offline

Сообщений: 158



« Ответ #48 : 30.01.2012, 14:32:35 »

спасибо... уже пробовал. Хз может у меня так, но там нет AJAX проверки, и имя может повторятся  Sad

Это только у Вас так получается, возможно проблема в шаблоне..., попробуйте с другим. Компонент производит AJAX проверку и на уникальность логина, и на "разрешение (можно задать список логинов, которые не могут быть зарегистрированы)", и на уникальность e-mail, и отображает "силу пароля", и т.д. и т.п...

Так что пробуйте
Записан
N2uM
Давно я тут
****

Репутация: +11/-0
Offline Offline

Пол: Мужской
Сообщений: 359


И каждый день становится субботой


« Ответ #49 : 30.01.2012, 14:38:49 »

Шаблон увы не получиться сменить( мм... я наверно неправильно выразился, мне проверка на уникальность нужна не только логина, и ещё на имя пользователя. нашёл подходящие компоненты, думаю с покупкой))
Записан
kry
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 86



« Ответ #50 : 30.01.2012, 20:34:38 »

Реализовал с некоторыми дополнениями в VirtueMart 1.1.9. No Problem!  Cool
Записан
flier
Осваиваюсь на форуме
***

Репутация: +2/-2
Offline Offline

Пол: Мужской
Сообщений: 120



« Ответ #51 : 02.02.2012, 20:24:42 »

ну а через корзину решили проблему?
Через корзину когда идет регистрация, проверка не работает!!

В IE не работает проверка, всегда пишет "Этот e-mail '***@***.ru' свободен. Можно продолжать регистрацию." Хотя он есть в базе!
« Последнее редактирование: 02.02.2012, 23:00:43 от flier » Записан
flier
Осваиваюсь на форуме
***

Репутация: +2/-2
Offline Offline

Пол: Мужской
Сообщений: 120



« Ответ #52 : 02.02.2012, 22:59:40 »

и ещё вместо
Код:
$email = JRequest::getVar( 'email' );
$uname = JRequest::getVar( 'uname' );
лучше
Код:
$email = $vmInputFilter->safeSQL(JRequest::getVar( 'email' ));
$uname = $vmInputFilter->safeSQL(JRequest::getVar( 'uname' ));
Это для чего менять? на что влияет?
Записан
flier
Осваиваюсь на форуме
***

Репутация: +2/-2
Offline Offline

Пол: Мужской
Сообщений: 120



« Ответ #53 : 02.02.2012, 23:05:22 »

В IE не работает проверка, всегда пишет "Этот e-mail '***@***.ru' свободен. Можно продолжать регистрацию." Хотя он есть в базе!
Заметил такой факт что в IE неправильно проверяет если емайл в формате: test@ch-city.ru, т.е. имеет тире после @. В опере такие адреса проходят на ура. В чем может быть проблема?

Как и где убрать тире из ограничения при проверке емейла?
« Последнее редактирование: 02.02.2012, 23:15:25 от flier » Записан
kry
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 86



« Ответ #54 : 03.02.2012, 11:03:48 »

ну а через корзину решили проблему?
Через корзину когда идет регистрация, проверка не работает!!

В IE не работает проверка, всегда пишет "Этот e-mail '***@***.ru' свободен. Можно продолжать регистрацию." Хотя он есть в базе!
Через корзину реализовал. Насчет проверки в IE посмотрю
« Последнее редактирование: 03.02.2012, 11:09:59 от kry » Записан
flier
Осваиваюсь на форуме
***

Репутация: +2/-2
Offline Offline

Пол: Мужской
Сообщений: 120



« Ответ #55 : 03.02.2012, 14:55:51 »

Через корзину реализовал. Насчет проверки в IE посмотрю
Через корзину работает если <?php JHTML::_('behavior.mootools'); ?> убрать в  VirtueMart.php, если не убирать то в корзине не работает а через регистрацию работает "тагого плана ссылка http://*****?page=shop.registration"
Записан
kry
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 86



« Ответ #56 : 03.02.2012, 23:16:53 »

В IE 9 проверка e-mail работает с вашим test@ch-city.ru, но только после активации ученой записи и входа/выхода на/из сайт(а) под активированным логином и паролем (проверял на локалке).
Цитировать
Через корзину работает если <?php JHTML::_('behavior.mootools'); ?> убрать в  VirtueMart.php, если не убирать то в корзине не работает а через регистрацию работает "тагого плана ссылка http://*****?page=shop.registration"
...не в ту степь. По-крайней мере, в VM 1.1.9. Буду свободнее опишу как
Записан
kerya8080
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 52



« Ответ #57 : 10.03.2012, 17:17:59 »

Реализовал с некоторыми дополнениями в VirtueMart 1.1.9. No Problem!  Cool
Для VirtueMart 2 можешь сделать?
Записан
kry
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 86



« Ответ #58 : 12.03.2012, 11:06:23 »

Для VirtueMart 2 можешь сделать?
С VM2 еще не работал.....
Записан
Страниц: 1 2 [Все]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet