• Почему не работает $_SESSION?

    ThunderCat
    @ThunderCat Куратор тега PHP
    Кирилл, если logout.php разлогинивает, то да. Как оно у вас работает знаете только вы...
  • Почему не работает $_SESSION?

    ThunderCat
    @ThunderCat Куратор тега PHP
    Кирилл, так у вас сессия на месяц, что вы хотели? Один раз авторизировались и месяц логиниться не надо... Что мешает разлогиниться?
  • Почему не работает $_SESSION?

    ThunderCat
    @ThunderCat Куратор тега PHP
    Кирилл, я просил сессию, а вы вывалили $_SESSION['logged_user']. Ладно, не суть. Не понятно тогда в чем ваш вопрос, если код работает правильно, пользователь есть - показывает ссылку на логаут.
  • Почему не работает $_SESSION?

    ThunderCat
    @ThunderCat Куратор тега PHP
    Кирилл, ок, дальше первой строчки не смотрим, учтем. Что у вас в сессии смотрели?
  • Как вызвать метод класса внутри другого метода?

    ThunderCat
    @ThunderCat Куратор тега PHP
    Исправляюсь вот полный код (там есть ответ на клиента!):
    Я понял, вы считаете что метод response()->json() сам выполняет ответ клиенту и завершает работу скрипта. Во первых, это не так (иначе там не нужен был бы ретурн), во вторых - респонс ожидается только из контроллера и роутера, и уже там происходит вывод клиенту. Сам респонс является как бы инструкцией что и как отдать.
  • По какой причине сайт не работает на хостинге?

    ThunderCat
    @ThunderCat Куратор тега PHP
    xormakor,
    а где банально посмотреть список этих ошибок на хосте?
    Зависит от хостинга. На некоторых вам дают полный доступ до директории логов, на некоторых это можно посмотреть только в каком-то разделе панели управления хостингом, а на каких-то логи выведены в директорию конкретного домена. Именно по этому гораздо эффективнее временно включить вывод ошибок. Да, это "не модно и фу, профи так не делают", но это в 10 раз быстрее и эффективнее. Хочешь рюшечек и восхищенных взгядов брутальных админов и коллег - смотри логи. Хочешь быстро пофиксить проблему - включи вывод ошибок. Хорошим вариантом может быть управляемое включение - например по какой-то гет переменной, но это может работать только с единой точкой входа, а у тебя какой-то самопал...
  • По какой причине сайт не работает на хостинге?

    ThunderCat
    @ThunderCat Куратор тега PHP
    iljaGolubev,
    Может быть такое?
    нет, по тому что и 404 тогда бы не было, была бы та же 500, так как домен тот же.
  • Как вызвать метод класса внутри другого метода?

    ThunderCat
    @ThunderCat Куратор тега PHP
    dch3,
    All routes and controllers should return a response to be sent back to the user's browser. Laravel provides several different ways to return responses. The most basic response is returning a string from a route or controller. The framework will automatically convert the string into a full HTTP response

    return response()->json($validator->errors(), 422);
    абсолютно ничего не будет делать если вы не вызываете его из роутера или контроллера (т.е. это не команда типа header, как вы подумали).
  • По какой причине сайт не работает на хостинге?

    ThunderCat
    @ThunderCat Куратор тега PHP
    iljaGolubev,
    так это не кривой урл

    смотрим на список загруженных файлов/папок (где нет никакого public_html)
    смотрим на урл в запросе:
    при запросе на домен выдает 500 (ошибка исполнения)
    при запросе public_html/index.php выдает 404
    Вывод - урл кривой, а вы вероятно путаете url и path...
  • По какой причине сайт не работает на хостинге?

    ThunderCat
    @ThunderCat Куратор тега PHP
    iljaGolubev, он бы тогда и на кривой урл ругался, так как 500 апача больше про настройки домена.
  • Как сделать категории в интернет магазине?

    ThunderCat
    @ThunderCat
    ndlx,
    Удивительно что на такой фундаментальный вопрос нет ответа "а как правильно"
    Ничего удивительного, так как структуры типа nested sets и EAV очень плохо дружат с реляционными схемами хранения, не в плане плохо хранят, а в плане плохо собираются как запросы. В следствии этого факта рождаются не всегда удачные решения, или более-менее применимые в каких-то случаях, но полного и четкого ответа нет именно по причине того что эти структуры больше подходят для итеративного рекурсивного перебора, нежели для индексированной выборки. Вот и плодятся разные способы, ситуативно подходящие в каких-то конкретных случаях.
  • По какой причине сайт не работает на хостинге?

    ThunderCat
    @ThunderCat Куратор тега PHP
    xormakor, 500 ошибка значит что в пхп заглушены ошибки, и код выдал какую-то фатальную ошибку при запросе. Хорошей новостью является то что сайт в целом загружается.

    Надо либо смотреть логи ошибок пхп, либо, что гораздо проще, добавьте в первые строчки index.php код
    ini_set('error_reporting',E_ALL);
    ini_set('display_errors', 1);

    После чего будет понятно что конкретно пошло не так.

    если обращаться напрямую, то выдает вот это:
    Это не напрямую, это вы обращаетесь к несуществующей папке, так как не очень понимаете как работает веб сервер...
  • Как сделать категории в интернет магазине?

    ThunderCat
    @ThunderCat
    ndlx,
    А вопрос был также в том как потом запрашивать товары
    никак, они должны дергаться одним запросом, через джоин к выбранным категориям, а не выбираться на основе какой-то логики приложения.

    годится ли WHERE IN
    Годится, но выглядит костыльным решением, так как опирается на логику приложения, создавая массу запросов на пустом месте...
  • Как сделать категории в интернет магазине?

    ThunderCat
    @ThunderCat
    ndlx,
    Как тогда получим все Телефоны?
    С этим как раз проблем нет, так как и у смартфонов и у телефонов один рут_айди, просто выбираем все категории с нужным рут_айди и джойним товары... Проблемы скорее будут с получением ограниченной ветки, то есть будет сложно логически отсекать вышестоящие паренты. Если заморочиться, то можно еще денормализовать таблицу и добавить глубину как поле, и брать вэа глубина больше N... Будет проще и быстрее, но придется контролировать данные на уровне вставки, что не есть хорошо для консистентности...
  • Как сделать категории в интернет магазине?

    ThunderCat
    @ThunderCat
    ndlx, так, а почему собсно не подходит
    селект *
    фром категори к
    лефт джоин товары т
    он т.категори_айди = к.айди
    вэа к.парент_айди = $парент_айди ?..
  • Почему не работает кодирование и декодирование в Base64?

    ThunderCat
    @ThunderCat Куратор тега PHP
    sochi-russia, Блин, вам даже готовый код не поможет, с вашей внимательностью...
    не получается
    Приведенный код во первых тоже имеет неэкранированные слэши в регулярке, во вторых речь шла о том что у вас помечено "на главной" - $mytext=preg_replace('..., который ничего не выдает, так как 1) регулярка неверная, 2) вам нужен только урл, а вы тянете зачем то весь хтмл тег, 3) не надо там что-то менять пока, для начала добейтесь чтобы "на главной" в $mytext попадал урл, после этого код можно будет достаточно просто поправить.

    По шагам, что вы делали не так:
    1) На главной надо получить только урл, вместо этого вы из строки <a href="some_url">пытаетесь получить другую строку<a href="other_url">, хотя она вам не нужна.
    2) После получения чистого урл, кодируете его в бэйс64, и уже из этой строки нормально формируете хтмл ссылку (выше писал как).
    3) в direct.php вы верно приняли гет переменную, но проверять ее через прег_матч смысла нет, так как она или пустая, что проверено выше, либо содержит урл, так как на главной вы уже проверили строку на совпадение с урл (тем более что у вас там в прег_матч нерабочая регулярка).
    4) Редирект написан верно, после него в принципе ничего выполняться не будет, так что смысл располагать там какой-то код отсутствует. Для совместимости с очень старыми версиями пыха можно добавить exit();, но это больше перестраховка.
  • Почему не работает кодирование и декодирование в Base64?

    ThunderCat
    @ThunderCat Куратор тега PHP
    sochi-russia, 1) Еще раз - все что нужно для самостоятельного решения вашей задачи я описал: нужно поправить регулярное выражение и замену, все остальное в порядке. Можно для упрощения задачи
    а) использовать preg_match() для получения урл,
    б) полученную строку закодировать
    с) вставить полученный результат в хтмл шаблон указанным выше способом.

    Я не нашел в правилах, того, о чем Вы пишите.

    2) Правила:
    5.12. Задачи и задания. В отличие от вопроса, задача и задание представляют собой частную проблемную ситуацию с явно заданной целью, которую необходимо достичь. Пользу от достижения этой цели получает, как правило, лишь её автор. И даже автору решение задачи или задания будет полезно лишь кратковременно (до тех пор, пока он не использует полученное решение).
    Именно по этому я не пишу готовый код, а даю вам максимально четкое описание алгоритма решения, прям только переложить фразы в код. Возможно у вас есть какие-то конкретные вопросы, из-за которых вы не можете что-то сделать самостоятельно? Задавайте, и я расскажу как сделать.
  • Почему не работает кодирование и декодирование в Base64?

    ThunderCat
    @ThunderCat Куратор тега PHP
    sochi-russia,
    Знаете, а Вы правы, не стоило мне беспокоить профессионалов. С уважением.
    Правила ресурса требуют от вас постановки задачи в форме "что не так" и ожидания ответа в форме "делай это и это", а не готовый код, что четко прописано в правилах. Профессионалы тут поддерживают знаниями (цитата) "сервис вопросов и ответов, предназначенный для IT-специалистов и всех тех, кто отчаянно пытается ими стать.". Если вы не относитесь ни к первым, ни ко вторым, то какой смысл искать разъяснения по коду, который вы не хотите исправлять, желая лишь получить готовое решение?
  • Почему не работает кодирование и декодирование в Base64?

    ThunderCat
    @ThunderCat Куратор тега PHP
    sochi-russia,
    мне нужно, чтобы ссылки вида...
    Я уже догадался, хотя описание задачи так себе...

    В принципе, код идеологически верный, но реализован криво. Упростите себе задачу, вместо preg_replace возьмите preg_match() и ищите только урл, вся остальная фигня вам не нужна (да и ваш preg_replace полностью кривой). Получите урл, его закодируйте в бэйс64, и уже эту строку просто вставьте в
    <a href="https://bilety.avia-avia.ru/direct.php?url=<?=$base64URL?>" target="_blank">
  • Почему не работает кодирование и декодирование в Base64?

    ThunderCat
    @ThunderCat Куратор тега PHP
    sochi-russia,
    Вы можете помочь подправить код?
    могу конечно. Хотя непонятно зачем было обращаться сюда, если вы не разбираетесь в коде вообще? Так то все необходимые для исправления ошибки я вам уже нашел, чините и вперед... Если вы ищете готовое решение, логичнее было бы обратиться на фриланс, а не нарушать правила данного ресурса (п. 5.12)