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