Задать вопрос
  • Как сделать категории в интернет магазине?

    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)
  • С чего начать практику администрирования без скучных книг?

    ThunderCat
    @ThunderCat
    Подскажите с каких базовых задач начать, но без тонны литературы, так как быстро надоедает.

    из под рута rm -rf /, а потом обратно...
  • Почему не работает кодирование и декодирование в Base64?

    ThunderCat
    @ThunderCat Куратор тега PHP
    sochi-russia,
    не direct.php, а engine.php в коде ошибка здесь на сайте engine.php стоит. Проверял даже сейчас не работает.
    Что? Ничего не понятно... Кто куда и зачем стоит...

    сайт рухнул из-за обновления алгоритма Яндекса где стало учитываться кол-во внешних ссылок со страницы сайта. Поэтому обратился сюда.
    Я про это вообще не спрашивал.

    Еще раз - регулярка неверная, строка замены тоже неправильная. Вы вообще читаете ответы?
  • Почему не работает кодирование и декодирование в Base64?

    ThunderCat
    @ThunderCat Куратор тега PHP
    Суть такова что заменитель, подставляет в переменную внутреннего адреса внешний адрес, и дополнительно кодирует её в

    $mytext=preg_replace(
    '~(<a(?>.*?href))=(["\'])([a-z0-9]++://(?![a-z0-9\.]*?site\.ru).*?)\2~eSi', 
    '"\1=\"https://site.ru/direct.php?url=".base64_encode("$3")."\" target=\"_blank\"";', /* 
    очевидно что внутри этой строки base64_encode() работать не будет, 
    так как даже по подсветке кода видно, что строка там не конкатенируется, 
    а именно просто часть строки. Достаточно просто соблюсти правила разметки 
    кода, и немного внимательнее глянуть на код. Да и сама регулярка выглядит сомнительно...*/
    $mytext
    );?>
    Вы вообще проверяли вашу регулярку? Как минимум два неэкранированных // точно мимо и ++ явно излишние... и вообще, зачем вы там ищете а хреф как часть паттерна? Вам же тупо нужно заменить один урл другим?
  • Как преобразовывать заглавную букву в главную и обратно при поиске как в гугле?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    Nentra,
    Вы невнимательно прочитали вопрос.
    Это вы невнимательно прочитали ответ.

    происходит редирект на страницу https://ansver.ru/?bit=11&let=строка
    Как мне получить в php ссылку https://ansver.ru/?bit=11&let=строка
    В полученных данных вы увидите все что необходимо для решения вашей задачи. Далее нужно чуть подумать самостоятельно.

    Если вы хотите готового решения, то вопрос сразу можно маркировать как нарушающий правила ресурса (п. 5.12. Задачи и задания. ), и соответственно удалять.
  • Как получать на PHP большой JSON массив из url по API?

    ThunderCat
    @ThunderCat Куратор тега PHP
    Cheizer, https://www.google.com/search?q=mysql+insert+multi...
    В том числе дока:
    If you are inserting many rows from the same client at the same time, use INSERT statements with multiple VALUES lists to insert several rows at a time. This is considerably faster (many times faster in some cases) than using separate single-row INSERT statements. If you are adding data to a nonempty table, you can tune the bulk_insert_buffer_size variable to make data insertion even faster.
  • Как прекрипить футер к самому нижу?

    ThunderCat
    @ThunderCat Куратор тега CSS
    aspirantes,
    Не существуют плохие инструменты, но бывают кривые руки.
    Ммм, молодость и наивность, как мило...
  • Как установить максимальное количество строк в таблице?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    Чисто ради интереса: нафига, а главное - зачем?
  • Как исправить ошибку с редактированием данных?

    ThunderCat
    @ThunderCat Куратор тега PHP
    Rozhok68, первое что нужно сделать, и вам уже написали в коментах - проверить значения переменных.
    ...
    $post4 = selectOne('kasko', ['id' => $_GET['edit_id']]);
    var_dump($post4);
    ...
    if($_SERVER['REQUEST_METHOD'] === 'POST'){
    var_dump($_POST);
    Дальше можно что-то понимать, но уже можно предположить что $post4 будет пустой, если в бд нет таких записей.
  • Как исправить ошибку с редактированием данных?

    ThunderCat
    @ThunderCat Куратор тега PHP
    Rozhok68, 64746c9d09b7b208517137.jpegТак обработчик или функция?
  • Не правильно работает idex.php, где ошибка?

    ThunderCat
    @ThunderCat Куратор тега PHP
    Уже лучше, но код явно перепутан, 2 раза вставлен одинаковый пхп код...