DstivjTS: Не обладая даром телепатии, сложно определить нужно ли вам строить модель. Если это часть какого-то задания, возможно стоит перечитать его полностью. Не исключено, что придется обратиться к тому кто формулировал задание за дополнительными сведениями.
Отдельная таблица для групп товаров (футболки, кроссовки, мобильные телефоны)
Вторая таблица описывает свойства, которые есть у данной группы. (Цвет и размер для футболок, диагональ и объем батареи для телефона и т.п.)
Третья содержит связку свойство-значение. (диагональ телефона - 5'')
Не зная структуры БД сложно что-то рекомендовать. И вообще, ИМХО, создавать отдельные таблицы для разных классов товаров - плохо. Уже при двух-трех классах товаров начинаются сложности, а что будет когда их будут десятки или сотни? Реальный пример из интернет магазина: 1185 классов товара. От брелков и стиральных машин, до смартфонов и подгузников. Что, для каждого по табличке, и для каждого править код?
Иван Сохин: конечно. по событию change на поле делаете submit формы.
Еще можно показывать превью изображения в браузере еще до отправки: jsfiddle.net/m9otfka8
sawa4: потому что на более низком уровне файлы приходят в $_FILE а всё остальное в $_POST
Да и обработка у файлов сильно отличается от текстовых полей, вот и вынесли в отдельный класс.
Panchon Kamredo: Короткий ответ: да.
Но я надеюсь что вы понимаете что это всего-лишь пример. Вообще слишком мало данных о задаче, приходится угадывать что вы хотите сделать и с чем именно проблема.
echo $votes;
exit();
Если всё равно не работает, добавьте в начале error_reporting(E_ALL); и посмотрите какие ошибки сыпятся.