во-первых спасибо за нормальное оформление кода
так его читать гораздо лучше. а точнее так его в принципе можно прочесть и понять.
в-вторых, срочно забыть про md5() и почитать про password_hash(). Это в обязательном порядке. MD5 на современных майнинговых фермах ломается так как будто его и нету.
в ужасе выкинуть. Попробуй ответить себе на вопрос, ЗАЧЕМ ты совершаешь эти телодвижения?
в-четвертых для проверки емейла в пхп есть встроенная функция. корежить емейл не надо. надо проверить - если валидный, то пропустить, если невалидный - послать. то есть все это колупание с регулярками тоже выкинуть
В-пятых $hid = md5(time().$pass).md5($pass); это тоже ОЧЕНЬ так себе.
вместо этого ужаса используй bin2hex(random_bytes(32));
в шестых, при наличии уникального токена, тебе юзер айди в куки класть не надо
Дмитрий, вт да мне тоже странно - какой смысл городить базу (в памяти!), писать запросы на ее заполнение, выполнять их при каждой загрузке, и потом делать запросы на выборку
это какой-то совсем изощренный способ мазохизма
ещё я спрашивал прочему проверка на наличие куки два раза
ты можешь здесь привести в нормальном виде код который у тебя получился?
у тебя какое-то извращенное представление о том, что ломает хабр
ты почему-то портишь код перед тем как его выложить,и выкладываешь какие-то огрызки, и никогда не исправляешь код по тем замечаниям которые тебе сделали.
такой подход сломает, только не хабр, а твое присутствие на нем
вопросы задавать можно и нужно
если у тебя есть впрос, то лучше спросить, а не сидеть варить что-то у себя в котелке, потом выскочить на 2 секунды с какой-то невнятной репликой, и тут же удрать в свою тину.
не бойся задавать вопросы
надо только задавать их нормально, отвечать на вопросы, которые тебе задают, и принимать к сведению ответы.
Ну с чего ты взял, что он разберёт?
Вот ты же не разобрал.
Ты ведь так и не понял, в чем его ошибка.
И сам же её повторил в своем коде, 10 раз
Потому что тоже запросы писать не умеешь
А когда тебя тыкают носом, то только и можешь что верещать про "таксичнасть"
не, ну если он реально не умеет написать даже простой запрос
надо сначала разобраться как запросы пишутся, простые
а потом уже пусть учится фильтры делать
один класс-монолит - это абсолютно та же самая глобальная переменная, только возведенная на новый уровень.
И современные фреймворки, в том числе Yii3, от неё в ужасе отказываются, в пользу внедрения зависимостей.
Нужна тебе переменная? Передавай в параметрах функции.
1. на время разработки display_errors в true, чтобы по логам не лазить 2. я написал в своем ответе, как сделать так, чтобы ошибки были
Скажите, у вас в голове только одна строчка помещается что ли? И читая следующую вы уже забываете предыдущую?
Я вам дал пример правильного соединения с ПДО, где включается режим информирования об ошибках.
Неужели так трудно взять и скопировать код?
в частности именно из-за отсутствия отступовalexalexes обознался и решил что $logged внутри connectdbpdo()
потому что в этой тупой портянке действительно хрен поймешь, где заканчивается функция.
так его читать гораздо лучше. а точнее так его в принципе можно прочесть и понять.
в-вторых, срочно забыть про md5() и почитать про password_hash(). Это в обязательном порядке. MD5 на современных майнинговых фермах ломается так как будто его и нету.
в-третьих,
в ужасе выкинуть. Попробуй ответить себе на вопрос, ЗАЧЕМ ты совершаешь эти телодвижения?
в-четвертых для проверки емейла в пхп есть встроенная функция. корежить емейл не надо. надо проверить - если валидный, то пропустить, если невалидный - послать. то есть все это колупание с регулярками тоже выкинуть
В-пятых
$hid = md5(time().$pass).md5($pass);
это тоже ОЧЕНЬ так себе.вместо этого ужаса используй
bin2hex(random_bytes(32));
в шестых, при наличии уникального токена, тебе юзер айди в куки класть не надо