Close Menu
    DevStackTipsDevStackTips
    • Home
    • News & Updates
      1. Tech & Work
      2. View All

      CodeSOD: A Unique Way to Primary Key

      July 22, 2025

      BrowserStack launches Figma plugin for detecting accessibility issues in design phase

      July 22, 2025

      Parasoft brings agentic AI to service virtualization in latest release

      July 22, 2025

      Node.js vs. Python for Backend: 7 Reasons C-Level Leaders Choose Node.js Talent

      July 21, 2025

      The best CRM software with email marketing in 2025: Expert tested and reviewed

      July 22, 2025

      This multi-port car charger can power 4 gadgets at once – and it’s surprisingly cheap

      July 22, 2025

      I’m a wearables editor and here are the 7 Pixel Watch 4 rumors I’m most curious about

      July 22, 2025

      8 ways I quickly leveled up my Linux skills – and you can too

      July 22, 2025
    • Development
      1. Algorithms & Data Structures
      2. Artificial Intelligence
      3. Back-End Development
      4. Databases
      5. Front-End Development
      6. Libraries & Frameworks
      7. Machine Learning
      8. Security
      9. Software Engineering
      10. Tools & IDEs
      11. Web Design
      12. Web Development
      13. Web Security
      14. Programming Languages
        • PHP
        • JavaScript
      Featured

      The Intersection of Agile and Accessibility – A Series on Designing for Everyone

      July 22, 2025
      Recent

      The Intersection of Agile and Accessibility – A Series on Designing for Everyone

      July 22, 2025

      Zero Trust & Cybersecurity Mesh: Your Org’s Survival Guide

      July 22, 2025

      Execute Ping Commands and Get Back Structured Data in PHP

      July 22, 2025
    • Operating Systems
      1. Windows
      2. Linux
      3. macOS
      Featured

      A Tomb Raider composer has been jailed — His legacy overshadowed by $75k+ in loan fraud

      July 22, 2025
      Recent

      A Tomb Raider composer has been jailed — His legacy overshadowed by $75k+ in loan fraud

      July 22, 2025

      “I don’t think I changed his mind” — NVIDIA CEO comments on H20 AI GPU sales resuming in China following a meeting with President Trump

      July 22, 2025

      Galaxy Z Fold 7 review: Six years later — Samsung finally cracks the foldable code

      July 22, 2025
    • Learning Resources
      • Books
      • Cheatsheets
      • Tutorials & Guides
    Home»Development»Online Examination System using PHP and MySQL

    Online Examination System using PHP and MySQL

    July 18, 2025

    In today’s digital age, the integration of technology into education has become essential for improving learning experiences and administrative efficiency. One significant advancement in this direction is the development of Online Examination Systems using PHP and MySQL, which provide a modern alternative to the traditional examination process. The conventional approach to conducting exams—requiring printed question papers, physical supervision, manual evaluation, and result compilation—is time-consuming, error-prone, and often inefficient.

    The Online Examination System is a web-based application developed using PHP and MySQL that addresses these challenges by offering a secure, scalable, and automated platform to manage the entire examination lifecycle. From question management and exam creation to student registration, automated evaluation, and result reporting, every step is handled electronically.

    Language Used PHP
    Database MySQL
    User Interface Design HTML, AJAX,JQUERY,JAVASCRIPT
    Web Browser Mozilla, Google Chrome, IE8, OPERA
    Software XAMPP / Wamp / Mamp/ Lamp (anyone)
    Project Modules

    This project contains two main modules:
    • Admin
    • Students

    **********MODULES DESCRIPTION**********
    Admin Module

    This module provides administrator-related functionalities. The administrator manages the entire application and controls student registrations, subjects, exams, questions, and result reports.

    Dashboard:
    In this section, the admin can briefly view:

    • Total registered students
    • Total subjects
    • Total exams
    • Total questions

    Subject:
    In this section, the admin can:

    • Add new subjects
    • Update Subject
    • Delete subject records

    Question:
    In this section, the admin can:

    • Add new multiple-choice questions (MCQs) with 4 options
    • Specify the correct option for each question
    • Edit or delete questions
    • Link questions to a specific subject

    Exam:
    In this section, the admin can:

    • Create new exams with title, subject, duration, total marks, and passing marks
    • Assign questions to exams
    • Activate/deactivate exams

    Manage Students:
    In this section, the admin can:

    • View all registered students
    • Delete student records

    View Result:
    In this section, the admin can:

    • View all student results
    • See result summary including correct answers, total marks, obtained marks, and pass/fail status
    • View detailed submitted answers for each student

    Reports:

    Admin can generate a report of students registered between two specific dates for analysis and record-keeping

    Search Student: Search student records by name, registration number, or email

    Account Settings:

    • Admin can update profile details
    • Change or recover password
    Student Module

    This module is designed for students to register, take exams, and view their results.

    Dashboard:
    This is the welcome page for students after login. It shows following details

    • View all currently active exams
    • Start an exam within the allowed schedule
    • Each exam is time-limited and auto-submits after the timer ends

    My Profile:
    In this section, students can update their personal information like name, email, and contact number.

    Start Exam / Submit Answer:

    • Load all question at a time
    • Select answers via radio buttons
    • Navigate between questions
    • Submit exam before time ends
    • Timer automatically submits if time runs out

    My Results:

    • View detailed results of attempted exams
    • See total questions, correct answers, obtained marks, and pass/fail status
    • View submitted answers with the correct options

    Account Settings:

    • Students can updatetheir profile details
    • Change or recover password

    Online Examination System using PHP and MySQL: Output Screens

    Home Page

    OES PHP Home Page

    User Registration

    OES PHP User Registration

    Examination Page

    OES PHP Exam Page

    Result Page

    OES PHP Result Page

    Admin Dashboard

    OES PHP Admin Dashboard

    Add Exam

    OES PHP Add Exam

    Add Question

    OES PHP Add question
    How to run the Online Examination System project

    1. Download the project zip file

    2. Extract the file and copy oes folder

    3.Paste inside root directory(for xampp xampp/htdocs, for wamp wamp/www, for lamp var/www/Html)

    4. Open PHPMyAdmin (http://localhost/phpmyadmin)

    5. Create a database with the name  oesdb

    6. Import oesdb.sql file(given inside the zip package in SQL file folder)

    7. Run the script http://localhost/oes

    **************************Admin Credential**************************
    Username: admin
    Password: Test@123

    **************************User/Student Credential**************************
    Username: John123@t.com
    Password: Test@123

    Or Register a new user.


    Project Demo

    View Demo

    Online Examination Project in PHP Download Link

    Download Online Examination System Project , Report and PPT in Rs. 649 / $7.55

    The post Online Examination System using PHP and MySQL appeared first on PHPGurukul.

    Source: Read More 

    Facebook Twitter Reddit Email Copy Link
    Previous ArticleA tricky, educational quiz: it’s about time..
    Next Article I changed 12 settings on my Apple TV to instantly improve the performance

    Related Posts

    Development

    GPT-5 is Coming: Revolutionizing Software Testing

    July 22, 2025
    Development

    Win the Accessibility Game: Combining AI with Human Judgment

    July 22, 2025
    Leave A Reply Cancel Reply

    For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.

    Continue Reading

    CVE-2025-52975 – Apache HTTP Server HTTP Request Smuggling

    Common Vulnerabilities and Exposures (CVEs)

    From motor control to embodied intelligence

    Artificial Intelligence

    CVE-2025-4747 – NetDragon Firewall Command Injection Vulnerability

    Common Vulnerabilities and Exposures (CVEs)

    Researchers Details macOS Remote Code Execution Vulnerability – CVE-2024-44236

    Security

    Highlights

    CVE-2025-37814 – Linux Kernel TTY Mouse Reporting Vulnerability

    May 8, 2025

    CVE ID : CVE-2025-37814

    Published : May 8, 2025, 7:15 a.m. | 58 minutes ago

    Description : In the Linux kernel, the following vulnerability has been resolved:

    tty: Require CAP_SYS_ADMIN for all usages of TIOCL_SELMOUSEREPORT

    This requirement was overeagerly loosened in commit 2f83e38a095f
    (“tty: Permit some TIOCL_SETSEL modes without CAP_SYS_ADMIN”), but as
    it turns out,

    (1) the logic I implemented there was inconsistent (apologies!),

    (2) TIOCL_SELMOUSEREPORT might actually be a small security risk
    after all, and

    (3) TIOCL_SELMOUSEREPORT is only meant to be used by the mouse
    daemon (GPM or Consolation), which runs as CAP_SYS_ADMIN
    already.

    In more detail:

    1. The previous patch has inconsistent logic:

    In commit 2f83e38a095f (“tty: Permit some TIOCL_SETSEL modes
    without CAP_SYS_ADMIN”), we checked for sel_mode ==
    TIOCL_SELMOUSEREPORT, but overlooked that the lower four bits of
    this “mode” parameter were actually used as an additional way to
    pass an argument. So the patch did actually still require
    CAP_SYS_ADMIN, if any of the mouse button bits are set, but did not
    require it if none of the mouse buttons bits are set.

    This logic is inconsistent and was not intentional. We should have
    the same policies for using TIOCL_SELMOUSEREPORT independent of the
    value of the “hidden” mouse button argument.

    I sent a separate documentation patch to the man page list with
    more details on TIOCL_SELMOUSEREPORT:
    https://lore.kernel.org/all/20250223091342.35523-2-gnoack3000@gmail.com/

    2. TIOCL_SELMOUSEREPORT is indeed a potential security risk which can
    let an attacker simulate “keyboard” input to command line
    applications on the same terminal, like TIOCSTI and some other
    TIOCLINUX “selection mode” IOCTLs.

    By enabling mouse reporting on a terminal and then injecting mouse
    reports through TIOCL_SELMOUSEREPORT, an attacker can simulate
    mouse movements on the same terminal, similar to the TIOCSTI
    keystroke injection attacks that were previously possible with
    TIOCSTI and other TIOCL_SETSEL selection modes.

    Many programs (including libreadline/bash) are then prone to
    misinterpret these mouse reports as normal keyboard input because
    they do not expect input in the X11 mouse protocol form. The
    attacker does not have complete control over the escape sequence,
    but they can at least control the values of two consecutive bytes
    in the binary mouse reporting escape sequence.

    I went into more detail on that in the discussion at
    https://lore.kernel.org/all/20250221.0a947528d8f3@gnoack.org/

    It is not equally trivial to simulate arbitrary keystrokes as it
    was with TIOCSTI (commit 83efeeeb3d04 (“tty: Allow TIOCSTI to be
    disabled”)), but the general mechanism is there, and together with
    the small number of existing legit use cases (see below), it would
    be better to revert back to requiring CAP_SYS_ADMIN for
    TIOCL_SELMOUSEREPORT, as it was already the case before
    commit 2f83e38a095f (“tty: Permit some TIOCL_SETSEL modes without
    CAP_SYS_ADMIN”).

    3. TIOCL_SELMOUSEREPORT is only used by the mouse daemons (GPM or
    Consolation), and they are the only legit use case:

    To quote console_codes(4):

    The mouse tracking facility is intended to return
    xterm(1)-compatible mouse status reports. Because the console
    driver has no way to know the device or type of the mouse, these
    reports are returned in the console input stream only when the
    virtual terminal driver receives a mouse update ioctl. These
    ioctls must be generated by a mouse-aware user-mode application
    such as the gpm(8) daemon.

    Jared Finder has also confirmed in
    https://lore.kernel.org/all/491f3df9de6593df8e70dbe77614b026@finder.org/
    that Emacs does not call TIOCL_SELMOUSEREPORT directly, and it
    would be difficult to find good reasons for doing that, given that
    it would interfere with the reports that GPM is sending.

    More information on the interaction between GPM, terminals and th
    —truncated—

    Severity: 0.0 | NA

    Visit the link for more details, such as CVSS details, affected products, timeline, and more…

    Best Figma Plugins for React: Convert Design to Code Faster

    April 11, 2025

    Navigating AI Regulations in 2025: A Practical Guide for Forward-Thinking Businesses📘

    May 29, 2025

    A Tomb Raider composer has been jailed — His legacy overshadowed by $75k+ in loan fraud

    July 22, 2025
    © DevStackTips 2025. All rights reserved.
    • Contact
    • Privacy Policy

    Type above and press Enter to search. Press Esc to cancel.