36459-vm/certificate_verify.php
2026-05-27 14:29:58 +05:30

138 lines
3.1 KiB
PHP

<?php
// ============================================
// RS Learning Lab - Certificate Verification
// ============================================
require_once 'db_config.php';
$verified = false;
$error = '';
$data = [];
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$roll_no = $_POST['roll_no'] ?? '';
$concept_id = isset($_POST['concept_id']) ? (int)$_POST['concept_id'] : 0;
if ($roll_no === '' || $concept_id === 0) {
$error = "Please enter valid details.";
} else {
$stmt = $pdo->prepare("
SELECT
qa.roll_no,
SUM(qa.is_correct) AS correct_count,
COUNT(*) AS total_count
FROM question_attempts qa
WHERE qa.roll_no = ?
AND qa.track = 'final'
");
$stmt->execute([$roll_no]);
$row = $stmt->fetch(PDO::FETCH_ASSOC);
if ($row && $row['total_count'] > 0) {
$percent = round(($row['correct_count'] / $row['total_count']) * 100);
if ($percent >= 60) {
$verified = true;
$data = [
'roll_no' => $roll_no,
'concept' => $concept_id,
'score' => $percent,
'date' => date("d M Y")
];
} else {
$error = "Certificate not eligible (final not passed).";
}
} else {
$error = "No final assessment found.";
}
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Certificate Verification</title>
<style>
body {
background:#020617;
color:#e5e7eb;
font-family:Arial;
}
.box {
max-width:520px;
margin:80px auto;
background:#020617;
padding:30px;
border-radius:16px;
border:1px solid #1e293b;
}
h2 { color:#38bdf8; text-align:center; }
input {
width:100%;
padding:10px;
margin:10px 0;
border-radius:8px;
border:none;
}
button {
width:100%;
padding:12px;
background:#0b8c9f;
color:white;
border:none;
border-radius:8px;
font-weight:bold;
cursor:pointer;
}
.success {
margin-top:20px;
padding:15px;
background:#022c22;
border-radius:10px;
color:#22c55e;
}
.error {
margin-top:20px;
padding:15px;
background:#3f1d1d;
border-radius:10px;
color:#f87171;
}
</style>
</head>
<body>
<div class="box">
<h2>Certificate Verification</h2>
<form method="post">
<input type="text" name="roll_no" placeholder="Student Roll No" required>
<input type="number" name="concept_id" placeholder="Concept ID" required>
<button type="submit">Verify Certificate</button>
</form>
<?php if ($verified): ?>
<div class="success">
✅ Certificate Verified<br><br>
Roll No: <strong><?=htmlspecialchars($data['roll_no'])?></strong><br>
Concept: <strong><?=htmlspecialchars($data['concept'])?></strong><br>
Score: <strong><?=$data['score']?>%</strong><br>
Status: <strong>VALID</strong><br>
Date: <strong><?=$data['date']?></strong>
</div>
<?php endif; ?>
<?php if ($error): ?>
<div class="error">
❌ <?=$error?>
</div>
<?php endif; ?>
</div>
</body>
</html>