Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите по PHP и Базе данных, случилась проблемка...

М М Знаток (399), закрыт 4 года назад
Посмотрел ютубера (Гошу Дударя...), он делал регистрацию на сайте с БД (базой данных).
я как бы php тока начинаю учить, но при этом регистрация уже нужна!
Вот в чем проблема:
1)Пишу логин.
2)Пишу имя.
3)Пишу пароль.
Если все нормально, то логин, имя и пароль должен появится в БД, но... хрен там...

*Просьба еще отписать в чем проблема пятого скрина? Везде кодировка utf8_general_ci.
(видно на шестом скрине) *

Дополнен 4 года назад
ТОлько напишите максимально подробно (если нужно), а то я новичек, зато знаю что вы любите говорить загадками)))
Лучший ответ
♫…Минор…♫ Мудрец (12377) 4 года назад
1) VALUES ("$login", "$pass", "$name") - в одинарных кавычках значения переменных не подставляются, подставляется только текст $login итд
2) Проблемы кодировки на сервере https://habr.com/ru/post/130511/
3) Код - гавно, смотри другие обучалки..
3.1 - соединение с БД должно быть в отдельном файле, который подключается в тех файлах, которые работают с БД
3.2 - для вставки значений в БД нужно использовать подготовленные запросы (так и гугли)
3.3 - плохая фильтрация данных, trim + htmlspecialchars + escape_string
https://www.php.net/manual/ru/mysqli.real-escape-string.php

P.S. вообще есть специальные форумы для программистов
P.P.S. if (empty($_POST['name'] && empty($_POST['pass'])) die; - а то можно будет в строке к скрипту обратиться и ошибку отсутствия переменных прочитать
P.P.P.S exit('Логин некорректный'); - не нужно echo() потом exit(), можно выходить с сообщением.
Остальные ответы
Саня Семенов Оракул (60425) 4 года назад
Кроме указанных выше причин из-за которых не работает заложенная в код логика вот ещё рекомендации по рефакторингу

1) код не соответствует принципам SOLID
2) отсутствует архитектура проектирования
3) прерывается выполнение программы не в конце выполнения скрипта
4) уязвимый код
Похожие вопросы