Wednesday 11 November 2020

PHP Project on Visitor Management System using Ajax jQuery Mysql

Don’t you find it difficult to have the record of all the people who have visited your office yesterday? Just forget about yesterday, do you remember the name of the person who was sitting there in your office for 20 minutes for no reason.

The security requirements of large organizations and infrastructure are challenging and growing increasingly. You can’t say with what intention that person was there in your office. Hence, it’s really necessary to install a visitor management system in the working places for security purposes. Wait!!! Don’t say that you don’t know even a bit about the same.

Don’t worry, below we are going to explain the same. Are you ready???

What Is the Visitor Management System?


As the name itself suggests, it's a kind of special technology which tracks the visitors that enter your working place. Let us tell you that these visitors could be anyone like a contractor, interviewee, consultant, client, or maybe the boyfriend of your Personal Assistant. Hence, it can be said that a visitor is the one who is not a full-time employee.

With the help of this system, you will be able to monitor all the people who are entering your building or office.

Visitor Management System allows you to maintain the record of the visitor in order to save time. It has amazing features like one-click digital records, visitor registration, cloud-based, instant notifications, self-check-in, and checks out. And now Register-based entries are not only inefficient, but they’re also vulnerable and there are chances that can be easily stolen or copied.

So for this reason we have made this Visitor Management system in PHP language by using Ajax with jQuery Bootstrap library. By using this web technology, we have build this small PHP project on smart visitor management system. This is completely web based visitor management system, so user can access visitor data from any place and from any devices in which it can access internet.


PHP Project on Visitor Management System using Ajax jQuery Mysql






Web Technology used for build Visitor Management System


Back-end Side


  • PHP
  • Mysql Database

Front-end Side


  • Ajax
  • jQuery
  • Bootstrap 4
  • HTML 5
  • jQuery DataTables Plugin
  • Parsley.js Form Validation Javascript library
  • Bootstrap Datepicker Plugin
  • Font Awesome Icon Library


Database Structure of Visitor Management System


In below SQL script you can find database stucture of Visitor Management System. So you have to just run following script and tables will be make for this Visitor Management System.


--
-- Database: `visitor_managment_system`
--

-- --------------------------------------------------------

--
-- Table structure for table `admin_table`
--

CREATE TABLE `admin_table` (
  `admin_id` int(11) NOT NULL,
  `admin_name` varchar(250) COLLATE utf8_unicode_ci NOT NULL,
  `admin_contact_no` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
  `admin_email` varchar(250) COLLATE utf8_unicode_ci NOT NULL,
  `admin_password` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
  `admin_profile` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
  `admin_type` enum('Master','User') COLLATE utf8_unicode_ci NOT NULL,
  `admin_created_on` datetime NOT NULL,
  `admin_status` enum('Enable','Disable') COLLATE utf8_unicode_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

--
-- Dumping data for table `admin_table`
--

INSERT INTO `admin_table` (`admin_id`, `admin_name`, `admin_contact_no`, `admin_email`, `admin_password`, `admin_profile`, `admin_type`, `admin_created_on`, `admin_status`) VALUES
(1, 'John Smith', '8569874587', 'johnsmith@gmail.com', '$2y$10$SY7Mc5BZsLlTjvNl70xhIOCyIVF9G7Xc1xqMzPmaSYTCrH.LG545q', 'images/22041.jpg', 'Master', '2020-11-06 14:17:27', 'Enable'),
(2, 'Donna Huber', '8523698520', 'donnahuber@gmail.com', '$2y$10$2H2wHdkV8GJrV30TouhkXuTcP1gQeAY1rp7EGM4fYzOf/mibjzEg.', 'images/22308.jpg', 'User', '2020-11-08 09:08:33', 'Enable'),
(3, 'Colin Newton', '7453952852', 'colinnewton@gmail.com', '$2y$10$O.7mlW5/JC5ji5nF5YHDfuTFphnSbpsNN7FaQoG1BHEIEg4TVbLKW', 'images/31598.jpg', 'User', '2020-11-09 12:44:57', 'Enable'),
(4, 'Carl Meza', '9632585203', 'carlmeza@gmail.com', '$2y$10$gyv/CokUtimUAdXlQt9aRO8UBTnjSz.FqQQEk24vfQjgTppkFSz4q', 'images/1604922343.png', 'User', '2020-11-09 12:45:44', 'Enable'),
(5, 'Tyron Stein', '96369852635', 'tyronstein@gmail.com', '$2y$10$WIHtgnX5EqrKuruE31exGeZv.CLIHm52CggX1/vn.vr1d4tceFtsq', 'images/1604922395.png', 'User', '2020-11-09 12:46:35', 'Enable'),
(6, 'Peter Parker', '8569852632', 'peterparker@gmail.com', '$2y$10$uBTtPvR0YLH9f4FZt5uumeDz3HOmO8W2c.sNy8pvm7zvo8LHQ5zh.', 'images/6614.jpg', 'User', '2020-11-11 14:00:27', 'Enable');

-- --------------------------------------------------------

--
-- Table structure for table `department_table`
--

CREATE TABLE `department_table` (
  `department_id` int(11) NOT NULL,
  `department_name` varchar(250) COLLATE utf8_unicode_ci NOT NULL,
  `department_contact_person` text COLLATE utf8_unicode_ci NOT NULL,
  `department_created_on` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

--
-- Dumping data for table `department_table`
--

INSERT INTO `department_table` (`department_id`, `department_name`, `department_contact_person`, `department_created_on`) VALUES
(3, 'Marketing', 'Leon Batz, Dessie Labadie, Jayda Keebler', '2020-11-07 08:07:09'),
(4, 'HR', 'Peter Parker', '2020-11-07 08:08:47'),
(5, 'Production', 'Aubrey Nelson, Zayan Humphrey, Harris Lowe, Imaan Villa', '2020-11-09 12:41:59'),
(6, 'Accounting', 'Youssef Hook, Yousef Haigh, Marlie Booker', '2020-11-09 12:42:43'),
(7, 'Purchase', 'Harlee Murillo, Helena Lloyd, Kairon Bauer', '2020-11-09 12:43:17');

-- --------------------------------------------------------

--
-- Table structure for table `visitor_table`
--

CREATE TABLE `visitor_table` (
  `visitor_id` int(11) NOT NULL,
  `visitor_name` varchar(250) COLLATE utf8_unicode_ci NOT NULL,
  `visitor_email` varchar(250) COLLATE utf8_unicode_ci NOT NULL,
  `visitor_mobile_no` int(12) NOT NULL,
  `visitor_address` tinytext COLLATE utf8_unicode_ci NOT NULL,
  `visitor_meet_person_name` varchar(250) COLLATE utf8_unicode_ci NOT NULL,
  `visitor_department` varchar(250) COLLATE utf8_unicode_ci NOT NULL,
  `visitor_reason_to_meet` tinytext COLLATE utf8_unicode_ci NOT NULL,
  `visitor_enter_time` datetime NOT NULL,
  `visitor_outing_remark` tinytext COLLATE utf8_unicode_ci NOT NULL,
  `visitor_out_time` datetime NOT NULL,
  `visitor_status` enum('In','Out') COLLATE utf8_unicode_ci NOT NULL,
  `visitor_enter_by` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

--
-- Dumping data for table `visitor_table`
--

INSERT INTO `visitor_table` (`visitor_id`, `visitor_name`, `visitor_email`, `visitor_mobile_no`, `visitor_address`, `visitor_meet_person_name`, `visitor_department`, `visitor_reason_to_meet`, `visitor_enter_time`, `visitor_outing_remark`, `visitor_out_time`, `visitor_status`, `visitor_enter_by`) VALUES
(1, 'Jenny Titus', 'jennytitus@mailinator.com', 2147483647, '1693 Isaacs Creek Road, Decatur, Illinois - 62522', 'Peter Parker', 'HR', 'For Job Interview', '2020-11-02 13:27:44', 'Inteview Completed', '2020-11-02 13:34:45', 'Out', 5),
(2, 'Mary Washington', 'marywashington@gmail.com', 2147483647, '1308 Hornor Avenue, Bartlesville, 74003 Oklahoma', 'Yousef Haigh', 'Accounting', 'For get pending due check...', '2020-11-09 13:29:28', 'This person leave office, without get his due amount.', '2020-11-09 13:34:30', 'Out', 4),
(3, 'Francisco Moyer', 'franciscomoyer@gmail.com', 2147483647, '1256 Ross Street, Metropolis, 62960 - Illinois', 'Jayda Keebler', 'Marketing', 'For get the sample of product.', '2020-11-09 13:31:11', 'Take product and leave our facility.', '2020-11-09 13:33:47', 'Out', 2),
(4, 'Jennifer Brown', 'jenniferbrown@gmail.com', 2147483647, '3870 Summit Park Avenue, Southfield, 48075 Michigan', 'Peter Parker', 'HR', 'For Job Interview...', '2020-11-09 13:33:13', 'Interview Completed..', '2020-11-09 13:35:02', 'Out', 3),
(5, 'Benny Cochran', 'bennycochran@gmail.com', 2147483647, '1930 Seneca Drive, Portland, 97225 Oregon', 'Harris Lowe', 'Production', 'Deliver inventory item like nuts & bolts.', '2020-11-09 13:36:43', 'After deliver item he leave this place.', '2020-11-09 14:39:04', 'Out', 4),
(6, 'Kristina Johnston', 'kristinajohnson@gmail.com', 2147483647, '2730 Felosa Drive, Brownwood, 76801, Texas', 'Kairon Bauer', 'Purchase', 'Give sample product catalog.', '2020-11-09 13:38:21', 'He received our product cataclog from Mr. Kairon', '2020-11-09 14:37:11', 'Out', 5),
(7, 'William Sherrill', 'williamsherrill@gmail.com', 2147483647, '2852 Alfred Drive, Bayside 11361, New York', 'Peter Parker', 'HR', 'For Job Inteview.', '2020-11-09 13:39:58', 'Leave office after completing his inteview.', '2020-11-09 14:34:47', 'Out', 2),
(8, 'Chuck Stjohn', 'chuckstjohn@gmail.com', 2147483647, '3855 Fincham Road, San Diego 92103, California', 'Aubrey Nelson', 'Production', 'For Repair Machine', '2020-11-09 14:14:56', 'After repair machine of production department, he leave this place.', '2020-11-09 14:39:29', 'Out', 4),
(9, 'Francesca Holland', 'francesca_holland@gmail.com', 2147483647, '3944 Hillhaven Drive, Mira Loma 91752, California', 'Peter Parker', 'HR', 'For Job Interview.', '2020-11-09 14:16:11', 'He completed job interview and leave our place.', '2020-11-09 14:37:29', 'Out', 5),
(10, 'Florence Linn', 'florencelinn@yahoo.com', 2147483647, '2920 Valley Drive, Philadelphia 19146, Pennsylvania', 'Harlee Murillo', 'Purchase', 'For give product quote price.', '2020-11-09 14:17:46', 'He give quote price to Mr. Harlee.', '2020-11-09 14:35:18', 'Out', 2),
(11, 'Christa Castaneda', 'chirsta_castaneda@gmail.com', 2147483647, '3377 Smith Road, Hampton 30228, Georgia', 'Marlie Booker', 'Accounting', 'For get the last stationary bill amount', '2020-11-09 14:19:40', 'He received bill amount and leave office.', '2020-11-09 14:33:15', 'Out', 3),
(12, 'Lisa Tschida', 'lisatschida@mail.com', 2147483647, '986 Bassel Street, Metairie 70001, Louisiana', 'Peter Parker', 'HR', 'For Receptionist Post job interview.', '2020-11-09 14:21:03', 'Interview completed', '2020-11-09 14:33:31', 'Out', 3),
(13, 'Anthony Justice', 'anthony.justice@ymail.com', 2147483647, '964 Pointe Lane, Hollywood 33023, Florida', 'Dessie Labadie', 'Marketing', 'For Received new product sample.', '2020-11-09 14:22:35', 'Ms. Dessie give product sample to Anthony and after this he leave this place.', '2020-11-09 14:40:09', 'Out', 4),
(14, 'William McClure', 'williammcclure@gmail.com', 2147483647, '1411 Elsie Drive, Sergeant Bluff 51054, South Dakota', 'Peter Parker', 'HR', 'For attend Junior Assistance post interview.', '2020-11-09 14:24:11', 'Completed Job Interview.', '2020-11-09 14:37:51', 'Out', 5),
(15, 'Kevin Greene', 'kevingreene@gmail.com', 2147483647, '2786 Armbrester Drive, Rancho Dominguez 90220, California', 'Jayda Keebler', 'Marketing', 'For repair office AC.', '2020-11-09 14:25:33', 'Kevin complete working on repairing of Marketing department AC.', '2020-11-09 14:35:57', 'Out', 2),
(16, 'Misty Pedersen', 'mistypedersen@gmail.com', 2147483647, '4975 Sardis Station, Minneapolis 55402, Minnesota', 'Harlee Murillo', 'Purchase', 'For deliver courier.', '2020-11-09 14:26:59', 'Send courier to Harlee and leave our place.', '2020-11-09 14:34:02', 'Out', 3),
(17, 'Kevin Fenner', 'kevinfenner@gmail.com', 2147483647, '1329 Ray Court, Rockingham 28379, North Carolina', 'Yousef Haigh', 'Accounting', 'Deliver Lunch Tiffin.', '2020-11-09 14:28:19', 'Kevein deliver tiffin to Youset and leave this place.', '2020-11-09 14:40:35', 'Out', 4),
(18, 'Ray McGee', 'raymcgee@gmail.com', 2147483647, '2620 Vineyard Drive, Garfield Heights\r\n 44128, Ohio', 'Youssef Hook', 'Accounting', 'Give us our electricity bill', '2020-11-09 14:29:48', 'Give electricity bill to Youssef of Accounting department and then after leave our place.', '2020-11-09 14:38:32', 'Out', 5),
(19, 'Antonio Krouse', 'antoniokrouse@gmail.com', 2147483647, '414 Hilltop Haven Drive, Rochelle Park 07662, New Jersey', 'Harris Lowe', 'Production', 'For deliver new electrical motor.', '2020-11-09 14:31:22', 'Mr. Harris has received electrical motor from Antonio and and Mr. Antonio leave our office.', '2020-11-09 14:36:40', 'Out', 2),
(20, 'Florence Graham', 'florencegraham@gmail.com', 2147483647, '4441 Patton Lane, Garner 27529, North Carolina', 'Peter Parker', 'HR', 'For Attend receptionist job interview.', '2020-11-09 14:32:47', 'Interview Completed.', '2020-11-09 14:34:18', 'Out', 3),
(21, 'Eliana Martinez', 'elianamartinez@gmail.com', 2147483647, '1137 Nash Street Northbrook, IL 60062', 'Peter Parker', 'HR', 'For Job Interview', '2020-11-11 06:09:55', 'Interview completed and leave our premises.', '2020-11-11 06:19:44', 'Out', 2),
(22, 'Andru Symonds', 'andrusymonds@gmail.com', 2147483647, '1881 Progress Way Cedar Rapids, IA 52401', 'Youssef Hook', 'Accounting', 'Amazon Delivery boy for deliver item of Youssef Hook', '2020-11-11 10:29:29', 'He gave parcel to Youset Hook and leave our facility.', '2020-11-11 10:29:58', 'Out', 3),
(23, 'Adam Smith', 'adamsmith@gmail.com', 2147483647, '964 Pointe Lane, Hollywood 33023, Florida', 'Peter Parker', 'HR', 'For Job Interview.', '2020-11-11 14:24:58', 'Job Interview Completed.', '2020-11-11 14:26:48', 'Out', 6);

--
-- Indexes for dumped tables
--

--
-- Indexes for table `admin_table`
--
ALTER TABLE `admin_table`
  ADD PRIMARY KEY (`admin_id`);

--
-- Indexes for table `department_table`
--
ALTER TABLE `department_table`
  ADD PRIMARY KEY (`department_id`);

--
-- Indexes for table `visitor_table`
--
ALTER TABLE `visitor_table`
  ADD PRIMARY KEY (`visitor_id`);

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `admin_table`
--
ALTER TABLE `admin_table`
  MODIFY `admin_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;

--
-- AUTO_INCREMENT for table `department_table`
--
ALTER TABLE `department_table`
  MODIFY `department_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=8;

--
-- AUTO_INCREMENT for table `visitor_table`
--
ALTER TABLE `visitor_table`
  MODIFY `visitor_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=24;


Feature of Visitor Management System


Admin Side


  1. Admin can manage all sub user visitor data.
  2. Admin can complete Visitor Analytics of this System.
  3. Admin can Create new user, edit existing user details and enable or disable sub user login.
  4. Admin can Add New Department with multiple person, edit existing department data and delete department data also.
  5. Admin can Add edit or delete Visitor data.
  6. Admin filter visitor data in date range filter.
  7. Admin can export visitor data in CSV file.
  8. Admin can change his profile details with profile picture.
  9. Admin can change his password.

Sub User Side


  1. Sub User can login into this Visitor Management System.
  2. Sub User can view his visitor entry data, Sub user can add new visitor data or edit and delete existing visitor data.
  3. Sub User can enter outing remarks of his Visitor entry.
  4. Sub User can filter his visitor data in date range filter.
  5. Sub User can export his visitor data in CSV file.
  6. Sub User can manage his profile details like name, email, contact number or even profile image also.
  7. Sub User can change his password details.

So, this are the key feature of this visitor management system, which has been make by using PHP language with Mysql database, jquery, Ajax and Bootstrap 4 library. We will provide source code of Visitor Management System so you can build your own Visitor management system from scratch and you can learn how to build web application project in PHP from scratch.

If you have any query or inputs regarding this Visitor Management System, you can write in comment box, we will reply on your comment.

56 comments:

  1. Thank you for this project.

    I can't seem to find the source code for the project..
    Thank you again.

    ReplyDelete
    Replies
    1. Hi, for source code, you have to check demo of this tutorial, and under demo you have to login into system and after login into system, you can download source of this tutorial, so check demo...

      Delete
  2. Hello sir, May I know the source code password Visitor Management System?

    ReplyDelete
    Replies
    1. Hi, Visitor Management System source code file password is webslessonvms

      Delete
  3. WinRAR have password sir please tell your File password

    ReplyDelete
  4. your file have password please tell your password

    ReplyDelete
    Replies
    1. Hi, can you please send me the source code for this project? Will really appreciate it!

      Delete
    2. Hi, thanks for download source code, and source code rar file password is webslessonvms try it...

      Delete
    3. source code file password is webslessonvms

      Delete
    4. Hi, can you please send me the source code for this project? Will really appreciate it!

      Delete
  5. Hello Brother plz tell ur password

    ReplyDelete
    Replies
    1. Password for rar file is webslessonvms, so try it...

      Delete
  6. Replies
    1. Hi, If you have seen demo of this tutorial, if you have not seen so first check demo, and in demo you have to login into system, and at the left side menu list, at the last menu link you can find download source code link.

      Delete
  7. Replies
    1. Hi, you can find download source code link in the demo of this tutorial, so when you login into this tutorial demo, then you can find download link of this tutorial source code, so please check it.

      Delete
  8. como estan cifradas las contraseñas de la base de datos? si yo quiero crear un usuario necesitaria saber si es MD5, o sash

    ReplyDelete
  9. I can't seem to find the source code for the project..
    Thank you again.

    ReplyDelete
    Replies
    1. We have put source code link in the demo of this tutorial, so please check demo and after login you can find download source code link, check it...

      Delete
  10. Replies
    1. We have put source code link in the demo of this tutorial, so please check demo and after login you can find download source code link, check it...

      Delete
  11. Hi, you can find download source code link in the demo of this tutorial, so when you login into this tutorial demo, then you can find download link of this tutorial source code, so please check it.

    ReplyDelete
  12. Wonderful management system.

    ReplyDelete
  13. Replies
    1. We have put source code link in the demo of this tutorial, so please check demo and after login you can find download source code link, check it...

      Delete
  14. Hello Sir, very kind of you to share this with us, may I know how to add visitor? I try many time but cannot and the form is a little bit off from the database

    ReplyDelete
    Replies
    1. Have you add visitor at online demo, if yes then we have disable for add visitor at online demo part, and no, please send your code at webslesson@gmail.com, we will check it.

      Delete
    2. i have the same problem, after add some lines i got this error in the console

      Referrer Policy: strict-origin-when-cross-origin

      only from server, localhost no problem... somebody know how resolve it?

      Delete
  15. In mobile phone, it can not correct display. Any solution?

    ReplyDelete
  16. Please can u add emailing feature?

    ReplyDelete
  17. would you plz upload library management system in php mysql.

    ReplyDelete
  18. Good day and thank you for this great effort, please i tried to add a visitor but i could not add any because the add visitor form is not working. please how can i fix the problem. thank you.

    ReplyDelete
  19. Hi I have problem to add a visitor, add visitor not working...

    ReplyDelete
  20. Hi,I can't log on into system account(User Email - johnsmith@gmail.com

    Password - password123)writes to me, wait.help to solve the problem?thanks

    ReplyDelete
  21. it asking for a password while i am extracting it.so what is that password?

    ReplyDelete
  22. i m unable to get the login page itself

    ReplyDelete
  23. I want visitor to self register and check in themselves so that it is easier for Employees and Admin to monitor.
    Example, a new visitor comes and needs to register (name, Email (not required), Phone, Signature (optional), Reason for visit)
    Then the visitor just click check in to notify his in in the building.
    After finishing his stay, and he wants to exit the building, he just needs to select/type his name and then information about him will come and he can click Check Out.

    Is that possible ?

    ReplyDelete
  24. hai,
    Please share database file also.

    ReplyDelete
  25. Hi, thank you for your source code. But the visitor add didnt work.
    Everytime

    ReplyDelete
  26. i can't extract zip file and only second zip is download one is not downloaded can you please help me thank you in advance

    ReplyDelete
  27. i can't extract zip file and only second zip is download one is not downloaded can you please help me thank you in advance

    ReplyDelete
  28. I cannot logged the application when I download it to my pc !
    what is the problem sir ?

    ReplyDelete
  29. Thank you so much for this great project

    ReplyDelete
  30. hello sir i cannot find the source code after clicking on the link given below the video , can you pls tell me exact where is the source code.

    ReplyDelete
  31. please where is the documentation or report of this system?

    ReplyDelete
    Replies
    1. Here you can only find source code, documentation or report you can not find here, you have to write your own documentation.

      Delete
  32. does it work with php 5 or 8

    ReplyDelete
  33. Would you please let me know what algorithm you used to create Password for 'password123' becomes $2y$10$SY7Mc5BZsLlTjvNl70xhIOCyIVF9G7Xc1xqMzPmaSYTCrH.LG545q

    ReplyDelete
  34. unable to login.. only showing wait...

    ReplyDelete
  35. Good Evening. The demo project is working with the Desktop. When I want to display for cell phone means make the display size as cell phone it gives us only a few lines without sidebar text. Would it be possible to make the program update to display everything in Cell/Mobile Phone, that would be very appreciated.

    ReplyDelete
  36. Good afternoon ..... how can i downlod the zip file for the project

    ReplyDelete