Ответить Новая тема Новый опрос 
Всего: 2 1 2 >
 логирование посетителей
BigKasper
Новичок
Сообщений: 27
Регистрация: 02-06-2017


02-06-2017 16:52
Привет. Если в кратце делаю регистрацию на престе, не спрашивайте зачем я это делаю)))
Когда пользователь вводит логин и пароль и нажимает войти то мы проверяем есть ли такой в базе и если есть то нужно его залогировать(дать доступ к сайту). Как это все происходит с того момента где мы подтвердили что такой пользователь есть в базе?
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


02-06-2017 17:37
Цитата:( BigKasper @ 02-06-2017 17:52 Смотреть сообщение )
делаю регистрацию на престе
...
Как это все происходит с того момента где мы подтвердили что такой пользователь есть в базе?

Код:
$customer = new Customer(№ клиента);
if (Validate::isLoadedObject($customer))
{
    $context = Context::getContext();
    $context->cookie->id_customer = (int)$customer->id;
    $context->cookie->customer_firstname = $customer->firstname;
    $context->cookie->customer_lastname = $customer->lastname;
    $context->cookie->is_guest = $customer->isGuest();
    $context->cookie->passwd = $customer->passwd;
    $context->cookie->email = $customer->email;
    $context->cookie->logged = true;
    $context->cookie->write();
}
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
BigKasper
Новичок
Сообщений: 27
Регистрация: 02-06-2017


02-06-2017 17:57
не работает(
я вот думаю может вся проблема в том что скрипт до мня уже редактировали и что то изменили. Если не ошибаюсь то файл AuthController должен отвечать за логирование
код:
Скрытое содержимое:
просмотр разрешен группе "Пользователи".

var_dump($customer) - показывает инфу о посетителе. Это значит что $customer успешно создается
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


02-06-2017 18:06
Цитата:( BigKasper @ 02-06-2017 18:57 Смотреть сообщение )
не работает(

Приложите полностью код (файл), и способ запуска.

Цитата:( BigKasper @ 02-06-2017 18:57 Смотреть сообщение )
я вот думаю может вся проблема в том что скрипт до мня уже редактировали и что то изменили.

Нет.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
BigKasper
Новичок
Сообщений: 27
Регистрация: 02-06-2017


02-06-2017 18:15
Хочу сделать авторизацию через facebook. Сделал модуль authenticationFacebook который вывел в registerHook('rightColumn'):
файл: authenticationFacebook.php
Скрытое содержимое:
просмотр разрешен группе "Пользователи".

файл tpl:
Скрытое содержимое:
просмотр разрешен группе "Пользователи".
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
BigKasper
Новичок
Сообщений: 27
Регистрация: 02-06-2017


02-06-2017 18:22
в консоли ошибка: 500 (Internal Server Error)
Если очистить куки то сайт продолжает работать, но пользоватеь не залогирован, это само собой


Сообщение отредактировал BigKasper (02-06-2017 19:24)
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
BigKasper
Новичок
Сообщений: 27
Регистрация: 02-06-2017


02-06-2017 18:38
вот файлы:


Вложения:

Вложения authenticationFacebook.tpl( Размер файла: 176Bytes Скачиваний: 84 )

Вложения authenticationFacebook.php( Размер файла: 3.63KB Скачиваний: 80 )
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


02-06-2017 18:42
Цитата:( BigKasper @ 02-06-2017 19:15 Смотреть сообщение )
Хочу сделать авторизацию через facebook.


Протестировал метод login_customer отдельно от основного кода в authentication
Код:
$this->login_customer(17);

17 - № клиента в БД.
Метод отработал без ошибок - авторизация прошла.

Не делайте так:
Код:
$sql = "SELECT * FROM `" . _DB_PREFIX_ . "customer` WHERE `id_customer` = '".$id_customer."'";
$result = Db::getInstance ()->GetRow ($sql);

метод уже принимает ID, доп. проверки в БД не требуются, а если требуются забирайте только определённые данные:
Код:
$id = Db::getInstance ()->getValue('SELECT `id_customer` FROM `' . _DB_PREFIX_ . 'customer` WHERE `id_customer` = ' . (int)$id_customer)



Форум позволяет прикладывать файлы к сообщению, не размещайте их на прочих серверах!
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
BigKasper
Новичок
Сообщений: 27
Регистрация: 02-06-2017


02-06-2017 18:51
хм.. непойму почему у меня не работает. Спасибо. Исправил:
Код:
$id = Db::getInstance ()->getValue('SELECT `id_customer` FROM `' . _DB_PREFIX_ . 'customer` WHERE `id_customer` = "'.(int)$id_customer.'"');
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
BigKasper
Новичок
Сообщений: 27
Регистрация: 02-06-2017


02-06-2017 19:06
пытался также вызвать метод отдельно (в index.tpl):


Цитата:
{AuthenticationFacebook::login_customer(95);}

результат тот же
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос 
Всего: 2 1 2 >