Yes, yes, and yes. Here is a link to a quiz system written in php that you might want to check out: http://www.phpvault.com/quizz/quizz1/quizz_voir1.php3 I personally haven't used it, but it seems to be similar to what you want to do. I don't think it has a timed system, but that could be accomplished by recording what time the user loads the page/question, then disallow any answer submitted after 5 minutes has passed since that time. You could just refresh the page to the next question, but I think there are probably ways to get around that. Perhaps a combination of the two would work best.