powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP 8 взаимодействие backend-а и HTML-страницы?
13 сообщений из 13, страница 1 из 1
PHP 8 взаимодействие backend-а и HTML-страницы?
    #40081986
MAULER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
Сразу прошу не пинать ногами за глупые вопросы, т.к. я только начал изучать PHP.
Штука интересная, многие вещи делаются просто, но некоторые просто заводят в тупик.

К примеру есть hello.php , который выводит два контрола в HTML:
Первый - это Select c options -ами:

Visual Studio Code
atom
Notepad++


и кнопку Button

Как происходит взаимодействие клиентского HTML со всеми кнопками и селектами с серверной стороной PHP?
К примеру, мне надо выстроить логику на бекенде PHP в зависимости от выбранного пункта SELECT-а и что-то перестроить на странице.
К примеру, если нажата Button то на PHP изменить элемент массива и перерисовать пункт "Atom" на "MSWord"?
...
Рейтинг: 0 / 0
PHP 8 взаимодействие backend-а и HTML-страницы?
    #40081993
MAULER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот код hello.php

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
<script type="text/jscript" src="jquery-3.2.1.js"></script>
<script type="text/javascript">

<?php
 $a = array("<option value='vsc'>Visual Studio Code</option>",
            "<option value='atom'>Atom</option>",
            "<option value='np'>Notepad++</option>"
 );
?>

function submitAction() {

  var selected = document.getElementById('sel_ID');
  var item = selected.options[selected.selectedIndex].text;
  var obj = {};

  obj.myData = item;

  request = $.ajax({
      url: "mylib.php",
     type: "post",
     data: obj,
  success: function(response) {
         console.log(response);
         // Здесь я получил ответ от бекенда mylib.php (response="Word")  
         // Как теперь перерисовать пункт "Atom" на "Word"?
  },
  error: function(jqXHR, textStatus, errorThrown) {
      console.log(textStatus, errorThrown);
  }
  });
}

</script>

<html>
 <body>
   <table>
      <tr>
        <td>
          <select name="ce" id="sel_ID">
            <?php
              foreach ($a as $key => $value) {echo $value;}
            ?>
          </select>
        </td>
        <td>
          <input type="button" value="change" onclick="submitAction();"/>
        </td>
      </tr>
   </table>
 </body>
</html>
...
Рейтинг: 0 / 0
PHP 8 взаимодействие backend-а и HTML-страницы?
    #40082006
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MAULER

Как происходит взаимодействие клиентского HTML со всеми кнопками и селектами с серверной стороной PHP?
Вообще обычно никак - php скрипт отработал на сервере, сформировал html станичку и закончил выполнение. И только потом полностью готовая страничка открылась у клиента в браузере. Но можно с клиента из javascript делать дополнительные запросы к серверу через XMLHttpRequest.
...
Рейтинг: 0 / 0
PHP 8 взаимодействие backend-а и HTML-страницы?
    #40082008
MAULER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Barlone,
Да, я так и представлял примерно. Но если мне нужно понажимать кнопочки из клиента в HTML, сделать запрос на сервер (через тот же $.ajax)
а потом перерисовать страницу в зависимости от ответа сервера?

Или это уже не про PHP?
...
Рейтинг: 0 / 0
PHP 8 взаимодействие backend-а и HTML-страницы?
    #40082024
s62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MAULER,

почитайте про формы в любом учебнике по php, например есть учебники и мануалы онлайн.
...
Рейтинг: 0 / 0
PHP 8 взаимодействие backend-а и HTML-страницы?
    #40082380
estic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MAULER, "перерисовать" прямо на клиенте - это вам в соседний раздел. PHP может:
- "перерисовать" на сервере и отдать полностью перерисованную страницу клиенту, а также послать "сигнал" клиенту для перехода на эту страницу (выполнить серверное перенаправление);
- отдать клиенту обновленные данные, чтобы клиент по ним сам "перерисовал" страницу или часть страницы.

При изучении PHP я не рекомендую вам смешивать JS (AJAX) и PHP. Учитесь перерисовывать на PHP. Вам это обязательно понадобится, даже если потом будете "смешивать". Прежде чем отдать данные клиенту, их в любом случае нужно как-то представить для передачи. Даже JSON-формат - это представление. Кроме того, можно делать API с двойным и т.д. представлением, например HTML/JSON.
...
Рейтинг: 0 / 0
PHP 8 взаимодействие backend-а и HTML-страницы?
    #40082388
estic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MAULER
К примеру, мне надо выстроить логику на бекенде PHP в зависимости от выбранного пункта SELECT-а и что-то перестроить на странице.
В зависимости о целей:
1) сохранить в куках, в сессии (так принято называть серверный кэш с ключом в куках) или в базе данных;
2) перенаправить на себя методом GET (или перенаправить на очень похожую, но все же другую страницу, т.е. страницу, имеющую другой адрес, например на странице /list выбрали какой-то "недефолтный" item и в результате перешли на страницу /list/item, содержащую тот же раскрывающийся список).
...
Рейтинг: 0 / 0
PHP 8 взаимодействие backend-а и HTML-страницы?
    #40082390
estic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если переходить на другую страницу, то можно ничего не сохранять (все могло быть сохранено заранее).
Пример: hyde.pageshop.ru/tables
...
Рейтинг: 0 / 0
PHP 8 взаимодействие backend-а и HTML-страницы?
    #40082393
estic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
estic
в результате перешли на страницу /list/item, содержащую тот же раскрывающийся список
Но с уже выбранным в этом списке item или выведенным item рядом со списком.
...
Рейтинг: 0 / 0
PHP 8 взаимодействие backend-а и HTML-страницы?
    #40082429
там без JS в любом случае никак
AJAX же
изменения в <select> ловятся через 'onchange=' или просто listener вешается
а там уже AJAX шлёт на сервер, откуда PHP возвращает новую строку с HTML-кодом

берите любой популярный фреймворк и не парьтесь.
...
Рейтинг: 0 / 0
PHP 8 взаимодействие backend-а и HTML-страницы?
    #40082486
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
бабушкин зайчик
там без JS в любом случае никак
AJAX же
изменения в <select> ловятся через 'onchange=' или просто listener вешается
а там уже AJAX шлёт на сервер, откуда PHP возвращает новую строку с HTML-кодом

берите любой популярный фреймворк и не парьтесь.
+1
и забудьте про PHP
...
Рейтинг: 0 / 0
PHP 8 взаимодействие backend-а и HTML-страницы?
    #40082576
s62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На мой взгляд ТСу стоит раздельно разобраться, чтобы не было винегрета в уме, и почитать про 3 вещи.
1) HTTP протокол, запросы от клиента, какие они бывают и что в них есть, ответы от сервера. Как сервернная часть реализуется на PHP, переменные $_GET, $_POST и т.д. Например вот глава из старой книжки про формы.
2) AJAX и как он реализуется на клиенте.
3) Фреймворки клиентские и серверные.
...
Рейтинг: 0 / 0
PHP 8 взаимодействие backend-а и HTML-страницы?
    #40082637
s62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Раз возникает вопрос
MAULER Как происходит взаимодействие клиентского HTML со всеми кнопками и селектами с серверной стороной PHP?
то ещё можно почитать про html-формы https://developer.mozilla.org/ru/docs/Learn/Forms/Your_first_form
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP 8 взаимодействие backend-а и HTML-страницы?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]