World English Institute

 <?php

session_start();


// ----- DATABASE CONFIG -----

$conn = mysqli_connect("localhost","root","","wei_db");

if(!$conn){ die("DB Error: ".mysqli_connect_error()); }


// ----- LOGIN -----

if(isset($_POST['login'])){

    $user = $_POST['user'];

    $pass = $_POST['pass'];

    $res = mysqli_query($conn,"SELECT * FROM users WHERE name='$user' AND password='$pass'");

    if(mysqli_num_rows($res)>0){

        $row = mysqli_fetch_assoc($res);

        $_SESSION['user'] = $row['name'];

        $_SESSION['role'] = $row['role'];

        header("Location: index.php");

        exit();

    } else { $error = "Wrong username or password!"; }

}


// ----- LOGOUT -----

if(isset($_GET['logout'])){

    session_destroy();

    header("Location: index.php");

    exit();

}


// ----- ADMIN: CREATE LESSON -----

if(isset($_POST['create_lesson']) && $_SESSION['role']=='admin'){

    $title = $_POST['title'];

    $desc = $_POST['desc'];

    $file = $_FILES['lesson_file']['name'];

    $tmp = $_FILES['lesson_file']['tmp_name'];

    move_uploaded_file($tmp,"uploads/".$file);

    mysqli_query($conn,"INSERT INTO lessons(title,description,file,admin) VALUES('$title','$desc','$file','".$_SESSION['user']."')");

    $msg = "Lesson created!";

}


// ----- STUDENT: SUBMIT ASSIGNMENT -----

if(isset($_POST['submit_assignment']) && $_SESSION['role']=='student'){

    $lesson_id = $_POST['lesson_id'];

    $mcq = $_POST['mcq'];

    $essay = $_POST['essay'];

    $existing = mysqli_query($conn,"SELECT * FROM assignments WHERE student='".$_SESSION['user']."' AND lesson_id='$lesson_id'");

    if(mysqli_num_rows($existing)>0){

        mysqli_query($conn,"UPDATE assignments SET mcq='$mcq', essay='$essay', status='submitted', grade='' WHERE student='".$_SESSION['user']."' AND lesson_id='$lesson_id'");

        $msg = "Assignment resubmitted!";

    } else {

        mysqli_query($conn,"INSERT INTO assignments(student,lesson_id,mcq,essay,status,grade) VALUES('".$_SESSION['user']."','$lesson_id','$mcq','$essay','submitted','')");

        $msg = "Assignment submitted!";

    }

}


// ----- TEACHER: GRADE ASSIGNMENT -----

if(isset($_POST['grade_assignment']) && $_SESSION['role']=='teacher'){

    $id = $_POST['id'];

    $grade = $_POST['grade'];

    mysqli_query($conn,"UPDATE assignments SET grade='$grade', status='graded' WHERE id='$id'");

    $msg = "Assignment graded!";

}


// ----- TEACHER: MARK REDO -----

if(isset($_POST['redo_assignment']) && $_SESSION['role']=='teacher'){

    $id = $_POST['id'];

    mysqli_query($conn,"UPDATE assignments SET status='redo', grade='' WHERE id='$id'");

    $msg = "Assignment marked for redo!";

}


// ----- GET PAGE -----

$page = isset($_GET['page']) ? $_GET['page'] : 'home';

?>


<!DOCTYPE html>

<html>

<head>

<title>LMS - World English Institute</title>

<style>

body{font-family:Arial; margin:0; background:#f2f2f2;}

nav{background:#002b80; padding:10px; text-align:center;}

nav a{color:white; margin:10px; text-decoration:none; font-weight:bold;}

.container{padding:20px; text-align:center;}

.box{background:white; padding:20px; margin:20px auto; border-radius:10px; max-width:700px;}

input, textarea, select{padding:10px; margin:5px 0; width:80%; border-radius:5px; border:1px solid #ccc;}

button{padding:10px 20px; background:#002b80; color:white; border:none; border-radius:5px; cursor:pointer;}

button:hover{background:#0040c0;}

table{width:100%; border-collapse:collapse;}

table, th, td{border:1px solid #ccc;}

th, td{padding:8px; text-align:center;}

.badge{padding:5px 10px; border-radius:5px; color:white;}

.badge-pending{background:red;}

.badge-graded{background:green;}

.badge-redo{background:orange;}

</style>

</head>

<body>


<nav>

<a href="index.php">Home</a>

<?php if(isset($_SESSION['user'])){ ?>

<a href="index.php?page=dashboard">Dashboard</a>

<a href="index.php?page=lessons">Lessons</a>

<a href="index.php?page=assignments">Assignments</a>

<a href="index.php?logout=1">Logout</a>

<?php } else { ?>

<a href="index.php?page=login">Login</a>

<?php } ?>

</nav>


<div class="container">

<?php

// -------- HOME --------

if($page=='home'){

    echo "<h1>WORLD ENGLISH INSTITUTE LMS</h1>

    <div class='box'>Welcome to the Online Learning Management System. Login to access your dashboard.</div>";

}


// -------- LOGIN --------

elseif($page=='login'){

    if(isset($_SESSION['user'])){ header("Location: index.php?page=dashboard"); exit(); }

    echo "<h2>Login</h2>";

    if(isset($error)) echo "<p style='color:red'>$error</p>";

    echo "<form method='post'>

    <input type='text' name='user' placeholder='Username' required><br>

    <input type='password' name='pass' placeholder='Password' required><br>

    <button name='login'>Login</button>

    </form>";

}


// -------- DASHBOARD --------

elseif($page=='dashboard'){

    if(!isset($_SESSION['user'])){ header("Location: index.php?page=login"); exit(); }

    echo "<h2>Dashboard - ".$_SESSION['role']."</h2>";


    // STUDENT DASHBOARD

    if($_SESSION['role']=='student'){

        echo "<div class='box'><h3>Your Info</h3>";

        $res=mysqli_query($conn,"SELECT * FROM users WHERE name='".$_SESSION['user']."'");

        $row=mysqli_fetch_assoc($res);

        echo "Name: {$row['name']}<br>Course: {$row['course']}<br>";


        // Lessons

        echo "<h4>Lessons</h4>";

        $lessons=mysqli_query($conn,"SELECT * FROM lessons");

        echo "<ul>";

        while($l=mysqli_fetch_assoc($lessons)){

            echo "<li>{$l['title']} - <a href='uploads/{$l['file']}' target='_blank'>View File</a></li>";

        }

        echo "</ul>";


        // Assignments with badges

        echo "<h4>Assignments</h4>";

        $asgn = mysqli_query($conn,"SELECT a.*, l.title FROM assignments a LEFT JOIN lessons l ON a.lesson_id=l.id WHERE a.student='".$_SESSION['user']."'");

        if(mysqli_num_rows($asgn)>0){

            echo "<table><tr><th>Lesson</th><th>Status</th><th>Grade</th></tr>";

            while($a=mysqli_fetch_assoc($asgn)){

                if($a['status']=='submitted'){

                    $badge = "<span class='badge badge-pending'>Pending</span>";

                } elseif($a['status']=='graded'){

                    $badge = "<span class='badge badge-graded'>Graded: {$a['grade']}</span>";

                } elseif($a['status']=='redo'){

                    $badge = "<span class='badge badge-redo'>Redo Required</span>";

                }

                echo "<tr><td>{$a['title']}</td><td>{$badge}</td><td>{$a['grade']}</td></tr>";

            }

            echo "</table>";

        } else { echo "<p>No assignments submitted yet.</p>"; }

        echo "</div>";

    }


    // TEACHER DASHBOARD

    elseif($_SESSION['role']=='teacher'){

        echo "<div class='box'><h3>Teacher Dashboard</h3>";

        if(isset($msg)) echo "<p style='color:green'>$msg</p>";


        // Assignments to grade or mark redo

        echo "<h4>Assignments</h4>";

        $assignments=mysqli_query($conn,"SELECT a.*, l.title FROM assignments a LEFT JOIN lessons l ON a.lesson_id=l.id");

        if(mysqli_num_rows($assignments)>0){

            echo "<table><tr><th>Student</th><th>Lesson</th><th>Essay</th><th>MCQ</th><th>Status</th><th>Action</th></tr>";

            while($a=mysqli_fetch_assoc($assignments)){

                echo "<tr>

                <td>{$a['student']}</td>

                <td>{$a['title']}</td>

                <td>{$a['essay']}</td>

                <td>{$a['mcq']}</td>

                <td>{$a['status']}</td>

                <td>

                <form method='post' style='display:inline'>

                <input type='hidden' name='id' value='{$a['id']}'>

                <input name='grade' placeholder='Grade'>

                <button name='grade_assignment'>Grade</button>

                </form>

                <form method='post' style='display:inline'>

                <input type='hidden' name='id' value='{$a['id']}'>

                <button name='redo_assignment'>Mark Redo</button>

                </form>

                </td>

                </tr>";

            }

            echo "</table>";

        } else { echo "<p>No assignments found.</p>"; }

        echo "</div>";

    }


    // ADMIN DASHBOARD

    elseif($_SESSION['role']=='admin'){

        echo "<div class='box'><h3>Admin Dashboard</h3>";

        if(isset($msg)) echo "<p style='color:green'>$msg</p>";

        // Create lesson

        echo "<h4>Create Lesson</h4>

        <form method='post' enctype='multipart/form-data'>

        <input type='text' name='title' placeholder='Lesson Title' required><br>

        <textarea name='desc' placeholder='Description'></textarea><br>

        <input type='file' name='lesson_file' accept='.pdf,.doc,.docx,.tex' required><br>

        <button name='create_lesson'>Create Lesson</button>

        </form>";

        // View lessons

        echo "<h4>Existing Lessons</h4>";

        $lessons=mysqli_query($conn,"SELECT * FROM lessons");

        echo "<ul>";

        while($l=mysqli_fetch_assoc($lessons)){

            echo "<li>{$l['title']} - <a href='uploads/{$l['file']}' target='_blank'>View File</a></li>";

        }

        echo "</ul>";

        echo "</div>";

    }

}


// -------- LESSONS PAGE --------

elseif($page=='lessons'){

    if(!isset($_SESSION['user'])){ header("Location: index.php?page=login"); exit(); }

    echo "<h2>Lessons</h2><div class='box'>";

    $lessons=mysqli_query($conn,"SELECT * FROM lessons");

    while($l=mysqli_fetch_assoc($lessons)){

        echo "<p><b>{$l['title']}</b> - <a href='uploads/{$l['file']}' target='_blank'>View File</a></p>";

    }

    echo "</div>";

}


// -------- ASSIGNMENTS PAGE --------

elseif($page=='assignments'){

    if(!isset($_SESSION['user'])){ header("Location: index.php?page=login"); exit(); }

    if($_SESSION['role']=='student'){

        echo "<h2>Submit / Resubmit Assignment</h2><div class='box'>";

        if(isset($msg)) echo "<p style='color:green'>$msg</p>";

        echo "<form method='post'>

        <label>Lesson:</label><br>

        <select name='lesson_id'>";

        $lessons=mysqli_query($conn,"SELECT * FROM lessons");

        while($l=mysqli_fetch_assoc($lessons)){

            echo "<option value='{$l['id']}'>{$l['title']}</option>";

        }

        echo "</select><br><br>

        <label>MCQ Answer:</label><br>

        <input type='text' name='mcq' required><br><br>

        <label>Essay:</label><br>

        <textarea name='essay' rows='5' required></textarea><br><br>

        <button name='submit_assignment'>Submit Assignment</button>

        </form></div>";

    } else { echo "<p>Only students can submit assignments.</p>"; }

}


// -------- DEFAULT --------

else{ echo "<h2>Page not found</h2>"; }


?>

</div>

</body>

</html>

Comments

Popular posts from this blog