Как лучше передавать данные для обработки скрипта?
Всем привет.
Я начинающий программист. Изучаю PHP. В связи с этим я думаю над различными способами обработки.
О чем речь: я пишу для теста небольшой сервис. Когда пользователь нажимает на определенную кнопку, данные передаются на другую страницу, где происходит обработка данных и передача их в БД.
Меня интересует способ передачи данных. Пока у меня есть понимание по 2-ум способам:
1. Через форму и глобальную переменную POST. Но при этом, при обновление страницы на которую попал пользователь, выскакивает Alert, что мне не нравится.
2. Кнопку делать как ссылку. И данные передавать через Session. Но получается, придется писать дополнительный обработчик, который занесет нужные данные в Session. При этом, как я понял, писать это решение надо на JS.
Хочется спросить, а какие варианты вообще существуют? И в правильном ли направление я двигаюсь?
Самый стандартный вариант, это 1. По кнопке субмитится форма, данные обычно обрабатываются тем же самым экшеном/скриптом. C данными выполняются требуемые действия (валидация, сохранение в сессии, в бд и тп) и затем делается редирект на следующую страницу
Есть ещё способ через ajax, когда при отправке формы страница не перезагружается. Ajax запрос делается через javascript. На чистом javascript либо с помощью jquery либо используя axios https://github.com/axios/axios
Все данные передаются запросом к скрипту на сервере. Браузер запрос может делать для всей страницы и тогда все содержимое страницы заменяется на полученное в ответе от сервера. Либо ответ от сервера будет возвращен обработчику на javascript (Ajax). Параметры передаваемые в пути url помещаются в $_GET, параметры передаваемые в теле запроса в $_POST (если удалось их распарсить, что не удалось лежит в php://input).
Сессия php здесь вообще не при чем, да и Alert тоже, поэтому не очень понятно, что вы имели ввиду.
И как уже написал Евгений, стандартный вариант это передача данных по сабмиту формы, переход по ссылке - для перехода, не для передачи данных, а ajax специфичная вещь для определенных нужд (в любом случае не с него нужно начинать).