С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/25: Рейтинг темы: голосов - 25, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 18.06.2017
Сообщений: 121

Авторизация админ панели PHP+MySQL

21.02.2019, 02:13. Показов 4809. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хочу сделать авторизацию через бд но что-то не получается.
Сама таблица admins состоит из столбцов: id, login, password.
вот код который проверяет это
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public function loginValidate($post) {
        if($post['login'] == NULL or $post['password'] == NULL) {
            $this->error = 'Логин или пароль указаны неверно';
            return false;
        } else {
    
        $params = [
            'login' => $post['login'],
            'password' => $post['password'],
        ];
        $sql = $this->db->query('SELECT * FROM `admins` WHERE login = :login AND password = :password', $params);
        if (mysqli_num_rows($sql) > 0) {
            $row = mysqli_fetch_array($sql);
            if ($row['login'] != $post['login'] or $row['password'] != $post['password']) {
                $this->error = 'Логин или пароль указаны неверно';
                return false;
            } else {
                return true;
 
                }
            }
        }
    }
Когда ввожу и логин и пароль и отправляю форму то вообще не реагирует! Помогите пожалуйста
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.02.2019, 02:13
Ответы с готовыми решениями:

Авторизация PHP-MySQL
Суть проблемы в том, что не проходит авторизация через ajax Код главной страницы "index.php" <html> <head> ...

регистрация и авторизация на php mysql
Регистрируюсь и все заносится в базу данных, но при входе на сайт все равно выводится что я захожу как гость. Почему? Как это исправить? ...

Авторизация php+mysql + куки
Всем добрый день. Пишу сайт, нужна авторизация. Решил использовать это: http://habrahabr.ru/post/13726/ Все сделал как там,...

9
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
21.02.2019, 11:13
Moroni, вы одновременно используете ООП и процедурный стиль, поэтому нечего не работает
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
21.02.2019, 14:36
Виталюска, явно не в этом причина.
0
0 / 0 / 0
Регистрация: 18.06.2017
Сообщений: 121
21.02.2019, 21:09  [ТС]
Jewbacabra, Можете помочь исправить?
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
21.02.2019, 21:11
http://phpfaq.ru/debug
0
0 / 0 / 0
Регистрация: 18.06.2017
Сообщений: 121
21.02.2019, 21:20  [ТС]
Jewbacabra, вот нашел в логах
[Thu Feb 21 20:18:10.271079 2019] [:error] [pid 6768:tid 1060] [client 127.0.0.1:11940] PHP Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, object given in Z:\\home\\test3.com\\www\\application\\m odels\\Admin.php on line 24, referer: http://test3.com/admin/login
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
21.02.2019, 21:30
Все же в сообщении написано: первый параметр функции mysqli_num_rows должен быть экземпляром класса mysqli_result, а вместо него передан "объект" и все это в файле Z:\\home\\test3.com\\www\\application\\m odels\\Admin.php на 24 строке
0
0 / 0 / 0
Регистрация: 18.06.2017
Сообщений: 121
22.02.2019, 00:01  [ТС]
Переписал вот
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public function loginValidate($post) {
        if($post['login'] == NULL or $post['password'] == NULL) {
            $this->error = 'Логин или пароль указаны неверно';
            return false;
        } else {
    
        $params = [
            'login' => $post['login'],
            'password' => $post['password'],
        ];
        $sql = $this->db->row('SELECT login, password FROM admins WHERE login = :login AND password = :password', $params);
            if ($sql['login'] != $post['login'] or $sql['password'] != $post['password']) {
                $this->error = 'Логин или пароль указаны неверно';
                return false;
            } else {
                return true;
 
                }
            }
        }
вот ф-ция row
PHP
1
2
3
4
public function row($sql, $params = []) {
        $result = $this->query($sql, $params);
        return $result->fetchAll(PDO::FETCH_ASSOC);
    }
По идеи возвращает ассоциативный массив но в логе ловлю что Undefined index: login 12 строка
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
22.02.2019, 00:30
Лучший ответ Сообщение было отмечено Moroni как решение

Решение

Цитата Сообщение от Moroni Посмотреть сообщение
По идеи возвращает ассоциативный массив
А не по идее, что фактически возвращает? var_dump можно проверить.
https://secure.php.net/manual/... tchall.php
возвращает массив, содержащий все оставшиеся строки результирующего набора. Массив представляет каждую строку либо в виде массива значений одного столбца, либо в виде объекта, имена свойств которого совпадают с именами столбцов.
0
0 / 0 / 0
Регистрация: 18.06.2017
Сообщений: 121
22.02.2019, 03:06  [ТС]
Понял спасибо!

Добавлено через 53 минуты
Jewbacabra, последний вопрос я беру строку из массива вот: string(5) "admin" как мне вырезать то что находиться в кавычках?

Добавлено через 1 час 28 минут
Сорян затупил что-то все хорошо так вот писать код в ночю
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.02.2019, 03:06
Помогаю со студенческими работами здесь

Запись данных в БД (Журнал посещения админ панели)
Здравствуйте.Решил для админ панели сделать *Журнал посещения админ панели* , т.е когда человек проходит авторизацию site.ru/admin/login...

Авторизация php mysql
Всем привет! друзья. Не могу найти ошибку. Значит форма регистраций я написал, всё работает заноситься в базу данных всё. А вот дальше при...

Редирект в админ панели
Всем привет Обискал интернет, ничего не помогло, может не так описал свою проблему гуглу) А проблемав в том, что нужно сделать...

Создание формы авторизации для админ панели
Народ есть у кого либо рабочий скрипт авторизации для админа ? так как у меня скрипт вроде рабочий а вроде и не рабочий т.е. форма...

Авторизация в админ панели
Всем привет! Поступил заказ, для которого нужно оформить примитивную кастомную CMS. Собственно, страх в плане безопасности для входа в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru