CMS DataLife Engine - Система управления сайтами

Авторизация  
qqignatqq

Почему не могу авторизироваться с помощью dle.api?

Рекомендуемые сообщения

 

Здравствуйте. Есть php файл такого вида:

<?php
include ('engine/api/api.class.php');
$request = $dle_api->external_auth( $_POST['ajaxname'],  $_POST['ajaxpass']);
if ($request == true)
    echo 'Вы успешно Авторизировались';
elseif ($request == false)
    echo 'Ошибка! Логин или пароль не совпали!';

На сайте его встречается такой js 

    $(function(){
        $('#ajaxlogin').on( "submit", function(e) {
            e.preventDefault();
            $.ajax({
                type: "POST",
                url: "ajaxlogin.php",
                data: $('#ajaxlogin').serialize(),
                success: function(data){
                    alert(data);
                }
            });
        });
       });

Создал форму, ввожу логин и пароль, возвращается true, обновляю страницу, а я как был гостем, так и остался. Почему так? Где ошибка?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, qqignatqq сказал:

Создал форму, ввожу логин и пароль, возвращается true, обновляю страницу, а я как был гостем, так и остался.

Потому что в вашем коде нет никакой авторизации, вы проверяете только введенные данные и все. Вместо 

echo 'Вы успешно Авторизировались';

вам нужно собственно написать PHP код, который будет устанавливать куки браузера, потом из куков проверять авторизацию и т.д.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 минуты назад, celsoft сказал:

Потому что в вашем коде нет никакой авторизации, вы проверяете только введенные данные и все. Вместо 


echo 'Вы успешно Авторизировались';

вам нужно собственно написать PHP код, который будет устанавливать куки браузера, потом из куков проверять авторизацию и т.д.

Ну и, извиняюсь за выражение, на*уй тогда в документации писать:

 

Цитата

$dle_api->external_auth( string $login, string $password);

Авторизация по логину и паролю. Возвращаемые значения: true - авторизация успешна, false - логин или пароль не верны.

???

  • Поддерживаю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В документации написано все правильно. Не путайте API для работы с базой данных, с другими функциями и действиями на сайте. Данная функция проверяет авторизацию по введенным данным с базой данных, и возвращает вам соответствующие значения, а дальше вам уже и нужно делать нужные вам действия. API дается для взаимодействия сторонних скриптов с DLE, а  не делает какие то действия вместо DLE. В DLE есть свои механизмы для авторизации, которые сделают все нужные действия непосредственно для DLE.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Столкнулся с такой же проблемой. Лучше тогда описать это как "Проверка авторизации\данных", а не "Авторизация по логину и паролю".

  • Поддерживаю 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация