Вам следует еще раз взглянуть на Drupal, модуль CCK может просто делать то, что вы хотите. С помощью CCK вы можете определить настраиваемые поля для ваших типов контента и создать практически любой вид веб-формы, который вы хотите. Затем вы можете использовать модуль Views для отображения ваших данных различными способами. Существует множество очень полезных предопределенных полей (для файлов, изображений, дат с помощью Datepicker, ссылок на другой контент, адресов электронной почты ...).
Если вы не ограничены PHP, я бы порекомендовал Django (написанный на Python), который делает создание веб-форм действительно, очень простым.
С обоими вариантами также можно импортировать существующие данные, хотя это может занять немного работы.