Вы не можете делать то, что вы хотите, в чисто серверном коде без какой-либо отправки из браузера, чтобы вызвать проверку. PHP-код запускается на сервере и возвращает страницу в браузер. После того как страница покинула сервер, PHP ничего не может с ней сделать.
У сайтов, которые я видел, которые делают подобные вещи при перезагрузке на стороне сервера, обычно есть начальная страница, где вы выбираете нужное действие, а затем загружаете форму для выбранного действия. Это действительно все, что вы можете сделать без какого-либо javascript на стороне клиента.
Если вы можете использовать javascript, тогда у вас есть много вариантов:
- Запустить перезагрузку формы при изменении раскрывающегося списка.
- Отправьте запрос ajax при изменении раскрывающегося списка и динамически добавьте HTML, возвращенный сервером, в форму.
- Отправьте поля для всех параметров на исходной странице и используйте событие изменения в раскрывающемся списке, чтобы показать / скрыть соответствующие поля.
Судя по вашим комментариям к другим ответам, возникает некоторая путаница относительно роли javascript в приложении. Серверу не нужно знать о Javascript или даже JQuery. Сервер запускает ваш код PHP для создания HTML-кода для вашей страницы. HTML может ссылаться на таблицы стилей CSS, изображения, файлы Javascript и т. Д., Которые, с точки зрения сервера, являются просто статическими файлами, запрашиваемыми браузером. Как только клиентский браузер получает файл javascript с сервера, он может выполнить его и включить любое поведение страницы dynmiac. В вашем серверном приложении нет кода Javascript. Приложение представляет собой просто набор файлов PHP с набором других статических файлов для поддержки сгенерированного HTML.