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

  • 7 Ответов
  • 660 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

spirit1086

  • Осваиваюсь на форуме
  • ***
  • 120
  • 1
Программная регистрация
« : 01.06.2015, 13: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, 14:02:04 от spirit1086 »

*

spirit1086

  • Осваиваюсь на форуме
  • ***
  • 120
  • 1
Re: Программная регистрация
« Ответ #1 : 02.06.2015, 15:43:59 »
Не пойму почему данная функция в случае Неправильного ввода данных не возвращает false (JFactory::getApplication()->login( $credentials, $options )

*

oppo

  • Разработчик расширений для Joomla 1.0
  • *
  • 367
  • 74
  • ΨΨΨ я - УКРАЇНЕЦЬ
Re: Программная регистрация
« Ответ #2 : 13.01.2016, 20:09:04 »
`activation` VARCHAR(100)
$account->activation==0  (может и не 0 быть)

*

dmitry_stas

  • Профи
  • ********
  • 9660
  • 930
Re: Программная регистрация
« Ответ #3 : 13.01.2016, 20:43:28 »
$error = JFactory::getApplication()->login($credentials, $options);
if (!JError::isError($error) && $error !== FALSE)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

*

yunoshev

  • Разработчик расширений для Joomla 1.0
  • *
  • 1238
  • 175
Re: Программная регистрация
« Ответ #4 : 16.01.2016, 01:03:08 »
в select префикс таблицы указывать нельзя.

*

robert

  • Профи
  • ********
  • 4004
  • 371
Re: Программная регистрация
« Ответ #5 : 16.01.2016, 20:03:15 »
в select префикс таблицы указывать нельзя.
Вы уверены?
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.

*

yunoshev

  • Разработчик расширений для Joomla 1.0
  • *
  • 1238
  • 175
Re: Программная регистрация
« Ответ #6 : 19.01.2016, 01:10:21 »
@robert
Если он его использует только на этом сайте и для таблиц с таким префиксом, то можно. Но ведь расширения ставят на разных сайтах и с разными префиксами таблиц. Универсально будет так : #__table_name.
Так что может именно поэтому у него не проходит авторизация.

*

robert

  • Профи
  • ********
  • 4004
  • 371
Re: Программная регистрация
« Ответ #7 : 19.01.2016, 01:55:13 »
Так что может именно поэтому у него не проходит авторизация.
А, вот что вы имели в виду. Меня сбило с толку ваше категорическое "нельзя".
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.