Skip to content

Commit bf33e08

Browse files
authored
Update add_record.php
1 parent e4a090e commit bf33e08

File tree

1 file changed

+24
-31
lines changed

1 file changed

+24
-31
lines changed

add_record.php

+24-31
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,35 @@
11
<?php
2-
try {
3-
// Check if required POST fields are set and not empty
4-
if (empty($_POST['roll_number']) || empty($_POST['name']) || empty($_POST['date'])) {
5-
throw new Exception('All fields are required.');
6-
}
7-
8-
// Connect to the SQLite database
9-
$db = new PDO('sqlite:records.db');
10-
11-
// Set error mode to exceptions
12-
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
13-
2+
if ($_SERVER["REQUEST_METHOD"] == "POST") {
143
// Sanitize user input
154
$roll_number = filter_input(INPUT_POST, 'roll_number', FILTER_SANITIZE_STRING);
165
$name = filter_input(INPUT_POST, 'name', FILTER_SANITIZE_STRING);
176
$date = filter_input(INPUT_POST, 'date', FILTER_SANITIZE_STRING);
187

19-
// Prepare an SQL statement for safe insertion
20-
$stmt = $db->prepare("INSERT INTO students (roll_number, name, date) VALUES (:roll_number, :name, :date)");
8+
try {
9+
// Connect to SQLite database
10+
$db = new PDO('sqlite:records.db');
11+
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
2112

22-
// Bind values to the parameters
23-
$stmt->bindParam(':roll_number', $roll_number);
24-
$stmt->bindParam(':name', $name);
25-
$stmt->bindParam(':date', $date);
13+
// Check if the record already exists for the given roll_number and date
14+
$stmt_check = $db->prepare('SELECT * FROM students WHERE roll_number = :roll_number AND date = :date');
15+
$stmt_check->bindParam(':roll_number', $roll_number);
16+
$stmt_check->bindParam(':date', $date);
17+
$stmt_check->execute();
18+
$existing_record = $stmt_check->fetch(PDO::FETCH_ASSOC);
2619

27-
// Execute the statement and check for success
28-
if ($stmt->execute()) {
29-
echo "Attendance submitted successfully.";
30-
} else {
31-
echo "Error submitting attendance.";
20+
if ($existing_record) {
21+
echo '<p>Attendance already exists for roll number ' . htmlspecialchars($roll_number) . ' on ' . htmlspecialchars($date) . '.</p>';
22+
} else {
23+
// Record does not exist, insert a new record
24+
$stmt_insert = $db->prepare('INSERT INTO students (roll_number, name, date) VALUES (:roll_number, :name, :date)');
25+
$stmt_insert->bindParam(':roll_number', $roll_number);
26+
$stmt_insert->bindParam(':name', $name);
27+
$stmt_insert->bindParam(':date', $date);
28+
$stmt_insert->execute();
29+
echo '<p>Attendance recorded successfully for roll number ' . htmlspecialchars($roll_number) . ' on ' . htmlspecialchars($date) . '.</p>';
30+
}
31+
} catch (PDOException $e) {
32+
echo '<p>An error occurred: ' . $e->getMessage() . '</p>';
3233
}
33-
} catch (Exception $e) {
34-
// Log the error message
35-
error_log($e->getMessage());
36-
echo "An error occurred: " . htmlspecialchars($e->getMessage());
37-
} catch (PDOException $e) {
38-
// Log the error message
39-
error_log($e->getMessage());
40-
echo "An error occurred while submitting attendance.";
4134
}
4235
?>

0 commit comments

Comments
 (0)