Hi All,
I run a political site that contains a voting element. It's fine as it stands but would be unacceptable as an 'official' site.
I am engaged in a project with a friend, to design a constitution for an imagined Direct Democracy of 10,000 and a way of implementing the governance of this community, that would be web-based.

One aspect of this would be the voting system, which needs to be secure, secret and ensure one-man-one-vote.

Does anybody have any ideas of the methodology for any part of this please? I am not asking for examples of code here, rateher, the way to go about things.

Thanks in advance.

Taffd

Recommended Answers

All 3 Replies

As it is a website where user have to have loging, you should just create instance of the table with users names, add extra column that will record if the user casted vote(Pre-request user have to log into website). This should do the trick

Peter_budo,
You've slightly missed the point.
I already have what you describe. One problem with the system is that I can tell who voted which way.

At an 'official' site, a vote would need to remain secret.

The computer needs to count the votes, 'for' or 'against' and record who votes but the vote itself should be secret to anyone who can access the database.

I was wondering if this was possible.

Nah, you missed on this one. The column which I mentioned to keep record of voting is just boolean not persons vote. So each members voting status on start of new vote will be FALSE, as they strat voting you will first check if person voted. If TRUE display message "You already voted can't do it again" (or similar), else members voting status FALSE then increment vote count for given vote and change members status to TRUE plus acknowledge message "Your vote been added"
Then in second table just keep actual count for each voting option.

Is it clear now?

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.