Задать вопрос
@Stereofox08

Как создавать блок по нажатию кнопки PHP?

Хочу чтобы по нажатию кнопки создавался div в php файле
  • Вопрос задан
  • 381 просмотр
Подписаться 1 Средний 4 комментария
Пригласить эксперта
Ответы на вопрос 2
@Layton
Во-первых, php ничего не создаёт, не рисует, он отвечает за серверную часть. То есть обрабатывает разные запросы, которые приходят на страницу.

Во-вторых, так называемые кнопки - это один из элементов html.
В-третьих, за визуализацию отвечает js.

Вот пример реализации:

<a href="#" onclick="showHiddenElement('element_id')">Показать элемент</a><br/><br/>
<div id="element_id" style="display: none;">Скрытый текст</div>

<script>
function showHiddenElement(element_id) {
    if (document.getElementById(element_id)) { 
        var element = document.getElementById(element_id); 
        if (element.style.display == "none") { 
            element.style.display = "block";
        } else element.style.display = "none";
    } else console.log("WRONG!!!");
}
</script>
Ответ написан
Комментировать
@rPman
Есть старый подход к созданию web приложений на php, которому обычно учатся начинающие (я надеюсь) который подразумевает следующее - любое действие пользователя на странице отправляется на сервер запросом и о в ответ возвращает НОВУЮ страницу с новым содержимым, 'по счастливой случайности' являющейся точной копией предыдущей кроме ну например появляется div элемент с нужным содержанием.

Реализуется это следующим образом - php файл это программа, которая генерирует все формы страницы, которые могли бы быть (может быть много разных php файлов, обычно разделяемых по смыслу, например разные разделы сайта), а url в браузере (адрес этой страницы) описывает как именно нужно генерировать страницу, на практике это реализуется http GET параметрами в формате:
http://site.com/cool_prog.php?param=value&other_param=other_value

в php программе список этих параметров хранится в переменной $_GET в виде массива (кстати там возможны параметры массивы с именами типа param[]=value1&param[]=value2)

Отсюда при нажатии на кнопку у тебя должна открываться к примеру страница
http://site.com/cool_prog.php?show_div=
а в коде php, где нужно вставить какой то кусок html проверка
<?php if(isset($_GET['show_div'])) { ?>
<div>yooo!</div>
<?php } ?>


Само собой способов передать состояние приложения много, так же с помощью настроек веб сервера (у apache к примеру это .htaccess модуль mod_rewrite) можно подменить часть некрасивых к примеру &category=value на приятные глазу https://site.com/value/

Повторюсь - это устаревший подход и использовать его нужно только если есть потребность в создани веб приложения для машин, не поддерживающих javascript (такие приложения создают сильную нагрузку на сетевой трафик и сервер но зато никой нагрузки и никаких требований для клиентов)

Лучше всего на сервере реализовывать только бизнеслогику и работу с данными, а все что касается визуальной части - релизовывать на javascript в браузере у клиента.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы