Simple Online Survey System using PHP/MySQLi with Source Code


Project: Simple Online Survey System using PHP/MySQLi


The Online Survey System is a simple project that can help a certain school, company or any organization that conducting surveys within its circle. The system has 2 types of users which is the admin and subscribers/users. The admin is the one who manages all the data of this system also the user role who is permitted to create a new user. The subscribers/users are those system users that answer the survey. The system has a simple form builder feature to create a survey questionnaire. The survey form builder has only 3 options to choose from for the type of inputs on how the users/subscribers answer the questions. The 3 options are the radio options, checkbox, and text area. The radio button will be used if the survey question requires only (1) one answer and the checkbox is for the survey question that allows multiple options that can user/subscriber choose. The textarea will serve the dynamic survey question such as the comment. The system generates a printable report for the result of each survey set.


All Users

  • Login Page
    • The page where system users will submit their credentials to access the data and functionalities of the system.
  • Dashboard Page
    • The page where the system users will be redirected by default after logging into the Online Survey System.
  • Manage Account Modal
    • The popup modal where the system users update their system credentials such as their email and password.

Admin Side

  • New User Page
    • The page where can system admin create a new user.
  • Manage Users
    • This feature includes View, Edit, and Delete for the user list.
  • New Survey Page
    • The page where can system admin create a survey set.
  • Manage Survey
    • This feature includes View, Edit, and Delete for the survey list.
  • View Survey Page
    • The page where the admin can manage the questionnaire of the selected survey set.
  • Survey Report
    • The page where the admin can view and print the result of the survey.

Users Side

  • Survey List
    • The page where the active survey sets are listed.
  • Answer Sheet Page
    • The page that shows the question of the selected survey set. This where the user answer or take the survey.

The Online Survey System was developed using HTML, PHP/MySQLi, CSS, JavaScript (jQuery/Ajax), and Bootstrap for the design. The source code is fully functional and easy to modify or enhance. Follow the instruction below to have an actual experience using this simple project.

How to Run

  1. Download the source code and extract the zip file.
  2. Download or set up any local web server that runs PHP script.
  3. Open the web-server database and create a new database name it survey_db.
  4. Import the SQL file located in the database folder of the source code.
  5. Copy and paste the source code to the location where your local web server accessing your local projects. Example for XAMPP('C:\xampp\htdocs')
  6. Open a web browser and browse the project. E.g [http://localhost/simple-online-survey-system]

Default Admin Access

Email: [email protected]
Password: admin123

I hope this simple Online Survey System will help you with what you are looking for, feel free to download and modify the source code.

Explore more on this website for more source codes and tutorials.


Note: Due to the size or complexity of this submission, the author has submitted it as a .zip file to shorten your download time. After downloading it, you will need a program like Winzip to decompress it.

Virus note: All files are scanned once-a-day by for viruses, but new viruses come out every day, so no prevention program can catch 100% of them.


1. Re-scan downloaded files using your personal virus checker before using it.
2. NEVER, EVER run compiled files (.exe's, .ocx's, .dll's etc.)--only run source code.


Submitted byjassim99 (not verified)on Mon, 02/01/2021 - 15:09

it is not working with me ( save Survey+ add new Questionnaire ) please help

Your code isn't working. Upon making a new survey form, it just keep loading and not showing any notifications. It is stuck on the loading icon. Can you help me?
Submitted byRMNislam (not verified)on Tue, 02/23/2021 - 02:38

It's works . But I want to add user registration on login page. Is this possible to your project? Please help me
Submitted byebinuga (not verified)on Thu, 06/10/2021 - 20:58

pls is it possible for use to create their own record by registering themself, instead of me making a new user
Submitted bybens (not verified)on Mon, 07/05/2021 - 06:49

could you please mention the php version used
Submitted bysarki (not verified)on Fri, 09/10/2021 - 08:41

not found Unable to Save any questions and new survey
Submitted bysarki (not verified)on Fri, 09/10/2021 - 08:41

Unable to Save any questions and new survey
Submitted byTripple Delta (not verified)on Thu, 10/21/2021 - 18:26

Same here. New survey creation not working - page forever loading.
Submitted byJhon Agudelo (not verified)on Tue, 10/26/2021 - 04:44

Hello everyone, I hope you are doing well. The program works well in the sense that it saves the surveys and processes the requests, but I have a problem and it is that when processing a new record or editing an existing one, it is reflected in the database but in the visual of the page it is not appreciated but up to several minutes or if you exit the system and log in again. Has anyone found a solution for this?
Submitted byJhon Agudelo (not verified)on Tue, 10/26/2021 - 04:58

Hola a todos, espero que esten bien. El programa funciona bien en el sentido que guarda las encuestas y procesa las solitudes, pero tengo un problema y es que al procesar un nuevo registro o editar uno ya existente se refleja en la base de datos pero en la visual de la pagina no se aprecia sino hasta dentro de varios minutos o si sales del sistema e ingresas nuevamente. Alguien encontro una solucion para esto?
Submitted byNepali Babu Bhabuk (not verified)on Sun, 11/07/2021 - 23:48

Hello everyone, project works well, but while adding questions option in unicode character is does not show the read unicode word, instead of that it shows the "u0905u0927u093fu0915u093eu0930" like this character, but if we input english opton in radio or check box it works fine. but if we input unicode character it shows u0905u0927u093fu0915u093eu0930 like this character, could you solve it plz
Submitted byArkham Knight (not verified)on Mon, 11/15/2021 - 18:19

When you try to add new question to the survey the page loads forever, console shows the following error:
  1. jQuery.Deferred exception: Cannot read properties of undefined (reading 'getContext') TypeError: Cannot read properties of undefined (reading 'getContext')
Submitted byStaz (not verified)on Sat, 05/21/2022 - 17:08

Can I ask something sir, Is it possible to use this code for my school project?
Submitted byGiak (not verified)on Tue, 06/07/2022 - 20:59

Good afternoon, I ask for support to know how: - Make it always mandatory to enter a response (Radio Button or Check Boxes or Text Area). - change the text area that is displayed when from admin I open Users i.e. "New User" or when entering a new questionnaire i.e. "New Survey" or when viewing the report i.e. "Survey Report". Thank you.
Submitted byMynie (not verified)on Sun, 07/24/2022 - 21:26

hey,this is the error i get when i try to view the report.please helpFatal error: Uncaught Error: Call to a member function fetch_assoc() on bool in C:\xampp\htdocs\fb\view_survey_report.php:13 Stack trace: #0 C:\xampp\htdocs\fb\index.php(40): include() #1 {main} thrown in C:\xampp\htdocs\fb\view_survey_report.php on line 13
Submitted byLiron (not verified)on Sun, 08/21/2022 - 04:48

The email and password not working try to update users table, admin email, and password fields. and still the same
Submitted byForits (not verified)on Sat, 10/08/2022 - 19:05

Has anyone made the registration interface?

Add new comment

This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
3 + 10 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.