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
Post a Comment