Ответы пользователя по тегу HTML
  • Как создавать страницы по нажатию?

    Screamie
    @Screamie
    Full-stack разработчик
    Здравствуйте! Для начала, у вас логическая проблема, которая связана с недопониманием, как работает PHP. Рекомендую лучше разобраться в основах языка. Но это на будущее, а пока попробую помочь с тем, что есть.

    Во-первых, код создания файла и записи счетчика лучше всего вынести в отдельную функцию, которая возвращает адрес файла или false в зависимости от того создан файл или нет. Сам код я не рассматриваю, но его можно сильно улучшить (например: посмотрите вот эти функции: 1 2)

    Далее, вызываем функцию создания файла в момент, когда форма успешно обработана. Так она не будет создаваться сразу.

    Затем, если функция вернула не false, то делаем редирект на созданную страницу через

    header('Location: http://www.example.com/newpage.html');


    Дополню ответ псевдокодом, для наглядности:

    function createCounterPage() {
     // Здесь пишем логику создания файла и счетчика
     // Функция будет возвращать путь к файлу или false если его не удалось создать
    }
    
    //  Обработка формы (ее лучше хранить отдельно от функции)
    
    if (isset($_POST['btn_submit']) && !empty($_POST['btn_submit'])) {
    
        // Обрабатываем форму...
        // Если нет ошибок - запускаем логику
        $counterPage = createCounterPage();
        send_mail($message)
    
        if($counterPage && is_file($counterPage)) {
            header('Location: http://www.example.com/' . $counterPage);
        }
    
    }
    Ответ написан
    4 комментария
  • Имитировать клик по фильтру у конечных категорий?

    Screamie
    @Screamie
    Full-stack разработчик
    Не совсем понятен вопрос и система на которой все это работает. Но если есть возможность, то можно передавать переменную, когда пользователь дошел до конца. Или в самой вьюхе конечного раздела создать скрытый блок div с классом js_last-cat например и по событию on('load') чекать на наличие этого блока в DOM и если он есть - раскрывать список.
    Ответ написан