Quiz Website Using PHP / MySQL

This project received 14 bids from talented freelancers with an average bid price of $176 USD.

Get free quotes for a project like this
Employer working
Project Budget
Total Bids
Project Description

I want to create a quiz website where members pay to play a quiz, and the user which scores the highest score wins a cash prize on their account. The website will be coded in PHP and will run off a MySQL database.

When a member takes a quiz they will be asked a set number of questions based on the categories for that game (on one page with anchors). Once a user has finished they will submit the form with their answers (4 possible answers per question) to the server, and the script will calculate their score.

Users will get points for each correct answer, and will lose a points for each second they spend thinking. These points settings will be stored in a "games" table in the mysql database. The score will be added to the database once calculated, and the server will then wait for all other players to finish playing.

Once all the players required for that round have completed the quiz, the script should rank the scores in order, and award the cash prizes to users accounts accordingly.

I have created a word document for the winning coder which outlines the fields needed for each table in the database. This should make creating the database much quicker and easier, although I cannot guarantee I've thought of all the fields! It also contains some helpful, basic notes on how to do the php code, hence I cannot post this with the bid request as I do not want others copying it!

You need to have good basic design skills, although the finishing touches will be completed by my designer. The basic layout should be clear and easy to use - even by inexperienced web users. Please use stylesheets, headers and footers for my designer's convenience!

Good communication is also important to me, therefore I will be available on MSN messenger a lot of the time to help you (GMT/BST).

The website should be fun for users to play on, and hopefully fun for you to create! Thanks for bidding!

David Hammond

## Deliverables

I have listed the pages and / or functions I think the website will require. The list is not neccesarily complete - this is just a rough guide to give you an idea of what I want:

**Member Area:** *(only accessable when logged in)

*- Login / Logout
- Account summary (showing cash balance etc)
- Edit Profile (change password etc)
- Open Quizzes (those where winner not declared yet)
- Completed Quizzes (where the winner has been declared)
- Deposit Cash [see section below]
- Withdraw Cash
- Statement (showing transactions)
- Rewards [see section below]

**Deposit Cash:** *(only avaliable when logged in)

*Three payment modules should be provided with the script:

- PayPal
- E-gold
- Nochex

All three are able to be automated so that the script can detect when a payment has been successfully made, and add the cash to the user's account without admin intervention.

It should be possible to EASILY add extra payment "modules"


** Every time a user takes a quiz they will get a set number of reward points (determined by the value set in the admin area). They can spend these points on rewards, browseable on a rewards page. The rewards page will be visible to none members, but rewards can only be claimed by members, and only if they have enough points on their account.

Points can also be used to play points quizzes. Points quizzes will be exactly the same as cash quizzes, the only difference being that the user pays points to play, and will also win points not cash.

**Games Area:** *(visible to non members, only members can actually play)

*- View / Browse Quiz Categories (from game category db)
- View / Join Quizzes (in category selected above, or all)

**Admin Area:

**I need to be able to control everything that happens on the site through the admin area. This should be very secure and only accessible by admin!

- Login / Logout (secure!)
- Summary Page (vital stats)
- Browse / Search Users
- Edit User (edit user selected on browse or search users)
- Email all or selected users (from search users page)
- Edit email templates
- Browse / Search Quizzes
- Edit / Add Quiz
- Browse / Search Quiz Categories
- Edit / Add Quiz Category
- Browse / Search Question Categories
- Edit / Add Question Category
- Browse / Search Quiz Questions
- Edit / Add Quiz Question
- Browse / Search Rewards
- Edit / Add Reward
- View / Process Reward Requests
- Edit pages (text editor for editing pages such as index)
- View / Process Pending Withdrawals
- View / edit deposits (only really need to be edited if they weren't approved automatically by the script. Saying which, if necessary I may need to cancel a deposit, and have it removed from the user's account)
- Edit settings

**Note:** most of the admin pages involve browsing, searching and editing. It may be possible to use the same or similar scripts for these common browsing and searching functions?

**Play Quiz:

**The actual quiz will load in a new window. When the user joins the quiz they are added to the entries database, their score is then appended and their status set to complete once they complete the quiz. Each type of quiz has different "rounds". For example, if the quiz is against 4 players, once 4 players have been found, the 5th player joins the next round. Players might not be allowed to join the same quiz twice depending on admin settings. If this is the case, and they want to play again, a new round is created.

When the user starts the quiz the server time is logged in the entries database - javascript is not used as it can be easily "hacked". The time is partially used to calculate the score.

**Note:** Users do NOT have the same questions, to avoid cheating.

**Misc Pages / Notes:
- Join page

When joining, an activation code should be sent to the email adress given, to verify the address is correct. They can only login once activated.

The join page should get the referrer from a cookie or php string. Referrers should send users to the site using a url like:

/[url removed, login to view]

This should be picked up by the join page script, and added to the database as the users referrer. When they make a deposit, or their deposits total a certain amount (depending on admin settings) the account of the referrer username (REFNAME in the example above) should be credited with a set amount of cash OR points OR both, again depending on admin settings! There should be three times where a referrer MAY be credited:

- When the user joins and activates his/her account
- When the user makes his/her FIRST deposit
- Where the user makes deposits totalling a set value


**I know I've gone into a lot of depth here, so sorry if it has taken a while to read. I'm just trying to give you a fair idea of what I'm expecting. I've set the deadline as 45 days for delivery of the project as I feel this is more than long enough time to complete the project. If you don't agree PLEASE let me know, and I will consider revising it!

Thank you once again for your time spent reading this. PLEASE don't be afraid to bid! I believe this will be a fun project, and I am a flexible and interesting buyer to work with!


David Hammond

## Platform

- All common internet browsers should be able to use the site.

- It should be designed for resolutions of 800 x 600 + greater.
- Scripting should be in PHP
- Running off a MySQL database.

Looking to make some money?

  • Set your budget and the timeframe
  • Outline your proposal
  • Get paid for your work

Hire Freelancers who also bid on this project

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online