Как выполнить только определенный блок PHP-кода

#php #button

Вопрос:

Предполагая, что PHP-код, такой как bolow

 lt;?php if(isset($_GET['submit'])) {  BLOCK A  BLOCK B  } ?gt;  lt;!htmllt;!DOCTYPE htmlgt;  lt;htmlgt; lt;bodygt;  lt;form method="get" action="#"gt;  lt;input type="submit" name="return" value="submit"gt;  lt;input type="button" value="Click"gt;   lt;/formgt; lt;/bodygt; lt;/htmlgt;  

Можно ли запустить просто БЛОК A или БЛОК B, нажав кнопку? и не обновлять текущее содержимое страницы.

Комментарии:

1. С помощью javascript, а не PHP.

2. Форма должна содержать некоторое значение, которое пользователь может указать, что должно произойти. Или, может быть, у вас могут быть две разные кнопки. Затем ваш PHP может использовать оператор if, чтобы решить, какой блок кода запускать. На каком основании вы хотите решить, какой блок следует выполнить? Ваше описание было довольно кратким, и не было на 100% ясно, каковы ваши намерения

Ответ №1:

Вы не можете. PHP-это язык на стороне сервера, с акцентом на сервер. PHP интерпретируется сторонней библиотекой на сервере. Затем конечный результат отправляется клиенту в виде текста.

У вас есть два варианта: (чтобы избежать обновления)

  1. Динамическая часть может быть загружена позже с помощью JS с помощью AJAX-запроса
  2. Отправьте оба результата клиенту, а затем покажите, что вам нужно.

Представьте, что вы заказываете напиток, вы не можете просто сказать официанту «любой напиток» и ожидать, что он превратится в то, что вы желаете. Для каждого требуется свой тип запроса, официанту нужно сходить на кухню и принести то, что вам нужно. Вы можете заказать 2 напитка, а затем выпить то, что хотите. Но это не имело бы никакого смысла, потому что вы заплатили бы и за то, и за другое.