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

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Программная регистрация

 (Прочитано 475 раз)
0 Пользователей и 1 Гость смотрят эту тему.
spirit1086
Осваиваюсь на форуме
***

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

Сообщений: 135


« : 01.06.2015, 12:56:33 »

Здравствуйте, есть регистрация с помощью AJAX когда пользователь вводит правильный логин и пароль, то все норм, но вот если он вводит Неправильный функция в контроллере почему-то не отрабатывает  значение else функция alogin второй блок кода, кстати на windows хостинге все норм, на линухе такая вот беда, на всякий случай линк на бесплатном хостинге http://olimp.tvoe.pe.hu/ru/
Код:
$('body').on('click','#jqlogin', function ()
    {
    $("#inf").css("display","none");
            $.ajax
            ({
               type:'POST',
               cache:false,
               dataType:'html',
               url: $('#loginform').attr('action'),
               data:$('#loginform').serializeArray(),
               success:function (data)
               {
                   if (data=='ok')
                   {
                     window.location.replace(url);

                   }
                   else
                   {
                    $('#inf').css({
                     'display':'block',
 'background': '#faeaea',
                              'border': '1px solid #e1b9b9',
 'padding':'5px'
               });
     $("#inf").text(data);
                        
                   }  
                    
               }
            });
     });

Код:
public function alogin()
    {
        $username=JRequest::getVar('login','','post');
        $password=JRequest::getVar('password','','post');

        $db = JFactory::getDbo();
        // Конструируем SQL запрос.
        $query = $db->getQuery(true);
        $query->select('*')
                ->from('ipls5_users')
                ->where('username='.$db->quote($username));
        $db->setQuery($query);
        $account = $db->loadObject();


         $credentials = array( 'username'=>$username, 'password'=>$password);
         $options = array( 'remember'=>true );
        
        //выполняем авторизацию
        (JFactory::getApplication()->login( $credentials, $options ) && $account->activation==0 && $account->block==0)? $otv='ok' : $otv='Проверьте корректность данных!';
      
       JFactory::getDocument()->setMimeEncoding( 'application/json' );  
       echo $otv;    
       JFactory::getApplication()->close();
    }
« Последнее редактирование: 01.06.2015, 13:02:04 от spirit1086 » Записан
spirit1086
Осваиваюсь на форуме
***

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

Сообщений: 135


« Ответ #1 : 02.06.2015, 14:43:59 »

Не пойму почему данная функция в случае Неправильного ввода данных не возвращает false (JFactory::getApplication()->login( $credentials, $options )
Записан
oppo
Разработчик расширений для Joomla 1.0
*

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

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


ΨΨΨ я - УКРАЇНЕЦЬ


« Ответ #2 : 13.01.2016, 19:09:04 »

`activation` VARCHAR(100)
$account->activation==0  (может и не 0 быть)
Записан
dmitry_stas
Профи
********

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

Сообщений: 7738



« Ответ #3 : 13.01.2016, 19:43:28 »

$error = JFactory::getApplication()->login($credentials, $options);
if (!JError::isError($error) && $error !== FALSE)
Записан
yunoshev
Разработчик расширений для Joomla 1.0
*

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

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


« Ответ #4 : 16.01.2016, 00:03:08 »

в select префикс таблицы указывать нельзя.
Записан
robert
Профи
********

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

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


« Ответ #5 : 16.01.2016, 19:03:15 »

в select префикс таблицы указывать нельзя.
Вы уверены?
Записан
yunoshev
Разработчик расширений для Joomla 1.0
*

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

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


« Ответ #6 : 19.01.2016, 00:10:21 »

@robert
Если он его использует только на этом сайте и для таблиц с таким префиксом, то можно. Но ведь расширения ставят на разных сайтах и с разными префиксами таблиц. Универсально будет так : #__table_name.
Так что может именно поэтому у него не проходит авторизация.
Записан
robert
Профи
********

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

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


« Ответ #7 : 19.01.2016, 00:55:13 »

Так что может именно поэтому у него не проходит авторизация.
А, вот что вы имели в виду. Меня сбило с толку ваше категорическое "нельзя".
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | 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