В третьих - убедитесь что все соответствует - захешируйте, сохраните в бд, прочитайте, проверьте. Вот и поймете - в бд проблема или в чем то в коде.
$bin = unpack('H*', '$2y$05$y9vdifo939stS5ybW5ZGceDBiQWH4sYvUfZtCukOidXszIyUL.SGy');
var_dump($bin);
/**я не сказал "не хватает", я сказал "рекомендуется"
* Мы просто хотим захешировать свой пароль используя настройки по умолчанию.
* Значит будет использован BCRYPT и результат будет 60 символов длиной.
*
* Помните, что алгоритм по умолчанию может измениться в будущем, так что
* имеет смысл заранее позаботиться о том, чтобы система хранения хешей
* смогла хранить более 60 символов (255 в самый раз)
*/
$sorting подтягивается из url строки с помощью GET запросаУгу, только каким "магическим" способом он оказывается внутри функции? (подсказка - читать про область видимости переменных).
Но проблема не в переменной, т.к. запрос писал так же напрямуючто наводит на мысль что выполняется не эта функция(что не отменяет предыдущего вопроса). сделайте так в своей функции:
$sql = "SELECT * FROM `smirnov` WHERE visible='1' ORDER BY '$sorting' ";
var_dump($sql);
exit();
и посмотрите что вернется(скорее всего ничего, но по данному огрызку кода это не ясно точно).чтобы получить 20 последних диалогов, их сначала нужно отсортировать, значит join будет для всех записей.Для всех записей, удовлетворяющих связке, а это уже сильное условие. И оттуда сорт и лимит 20 будет по индексу. И только потом джоин. Фактически это 2 запроса - выборка 20 значений из 1 таблицы (или из двух, зависит от структуры данных), потом селект из другой с данными из первого селекта в условии ограничения.
джоинить каждый раз таблицу с сообщениями - это еще хуже?вы ее джоининте с небольшой выборкой, фактически индексно соответствующей нескольким строкам, оно должно работать мгновенно.
линк в форме < a href="">я так понимаю в самом коде вы не зуб ногой? Все линки у вас будут работать как аякс запросы. Что конкретно при этом происходит - я угадать не могу, совет тот же - смотрите консоль, там видно и как идут запросы и чем они генерируются, а все эти "я смотрю с телефона" никого не интересуют, если вы хотите что-то в коде изменить - используйте нормальные инструменты.
кнопка отправляет запрос в базуВо первых кнопка у вас не отправляет ничего "в базу", а (предположительно) делает запрос к серверу (что не факт).
выводит найденную информацию через сессию для пользователяЗаписывает в сессию данные??? Вы что, вообще нормально не можете определиться что делает ваш код? Пишите формально и точно, так и сами быстрее разберетесь и других путать не будете.
Пример гет запроса:Это не пример гет запроса, это кусок кода, который ОБРАБАТЫВАЕТ запрос на сервере. Пример гет запроса:
https://toster.ru/q/675339?e=8163551
ок, будем считать, что в файле все блоки однострочные (многострочные удалю)...проблема не в этом. Читайте спецификации формата json.
вот можно подробнее про "читать файл обычным порядком"?Перевод: Читать файл любым доступным способом, с учетом необходимости блокировки/чтения/записи по обстоятельствам. Как самый простой способ(приведенный выше) - file_get_contents();