-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathadd_record.php
More file actions
35 lines (32 loc) · 1.68 KB
/
add_record.php
File metadata and controls
35 lines (32 loc) · 1.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Sanitize user input
$roll_number = filter_input(INPUT_POST, 'roll_number', FILTER_SANITIZE_STRING);
$name = filter_input(INPUT_POST, 'name', FILTER_SANITIZE_STRING);
$date = filter_input(INPUT_POST, 'date', FILTER_SANITIZE_STRING);
try {
// Connect to SQLite database
$db = new PDO('sqlite:records.db');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// Check if the record already exists for the given roll_number and date
$stmt_check = $db->prepare('SELECT * FROM students WHERE roll_number = :roll_number AND date = :date');
$stmt_check->bindParam(':roll_number', $roll_number);
$stmt_check->bindParam(':date', $date);
$stmt_check->execute();
$existing_record = $stmt_check->fetch(PDO::FETCH_ASSOC);
if ($existing_record) {
echo '<p>Attendance already exists for roll number ' . htmlspecialchars($roll_number) . ' on ' . htmlspecialchars($date) . '.</p>';
} else {
// Record does not exist, insert a new record
$stmt_insert = $db->prepare('INSERT INTO students (roll_number, name, date) VALUES (:roll_number, :name, :date)');
$stmt_insert->bindParam(':roll_number', $roll_number);
$stmt_insert->bindParam(':name', $name);
$stmt_insert->bindParam(':date', $date);
$stmt_insert->execute();
echo '<p>Attendance recorded successfully for roll number ' . htmlspecialchars($roll_number) . ' on ' . htmlspecialchars($date) . '.</p>';
}
} catch (PDOException $e) {
echo '<p>An error occurred: ' . $e->getMessage() . '</p>';
}
}
?>