Firstly, always store the images in folders, and the paths/filenames in the database/. Although you CAN store them as BLOBS in the database, it isn't really advisable.
For the actual polling system, I would keep it as simple as possible, where you have one (or more) tables which create the actual page, and one reponse table for the voting. The resaponse table simply consists of 2 fields, userid (linked to a unique userid contained in the same table as your user information) and prodid (linked to the table containg the list of items that are being voted on).
When a user votes, a select query is run on the response table against their username, if the number of rows returned is not 0, they have voted before and cannot vote again. This table, although potentially having many thousands of records, will contain all of the information you need about the voting to produce any kind statistics you may require.
Hope this helps