examLogic.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. $root = $_SERVER['DOCUMENT_ROOT'];
  3. include($root . "/util/session.php"); //checks that the user is logged in
  4. include($root . "/util/privilege_check.php");
  5. checkPrivilege("teacher");
  6. if (isset($_POST['startDate']) && isset($_POST['endDate']) && isset($_POST['startTime']) && isset($_POST['endTime']) && isset($_POST['questionNumber'])) {
  7. $startDate = $_POST['startDate'];
  8. $endDate = $_POST['endDate'];
  9. $startTime = $_POST['startTime'];
  10. $endTime = $_POST['endTime'];
  11. $start = date('Y-m-d H:i:s', strtotime($startDate . ' ' . $startTime));
  12. $end = date('Y-m-d H:i:s', strtotime($endDate . ' ' . $endTime));
  13. if ($end < $start) {
  14. $_SESSION['error'] = 1;
  15. } else if ($start < date('Y-m-d H:i:s')) {
  16. $_SESSION['error'] = 2;
  17. } else {
  18. $questionNumber = $_POST['questionNumber'];
  19. if (isset($_POST['revision'])) {
  20. $revision = 1;
  21. } else {
  22. $revision = 0;
  23. }
  24. $subjectID = $_SESSION['subjectPanel'];
  25. $chapterID = $_SESSION['chapterPanel'];
  26. $sql_test = "SELECT * FROM tests WHERE chapterID = $chapterID AND subjectID = '$subjectID'";
  27. $result = mysqli_query($db, $sql_test);
  28. $row = mysqli_fetch_assoc($result);
  29. if ($row) {
  30. $sql = "UPDATE tests SET startDate='$start', endDate='$end', revisionAllowed='$revision', numQuestions='$questionNumber'
  31. WHERE chapterID = $chapterID AND subjectID = '$subjectID'";
  32. } else {
  33. $sql = "INSERT INTO tests (chapterID, subjectID, startDate, endDate, revisionAllowed, numQuestions)
  34. VALUES ('$chapterID', '$subjectID', '$start' , '$end', '$revision', '$questionNumber')";
  35. }
  36. if (mysqli_query($db, $sql)) {
  37. mysqli_close($db);
  38. header("Location: ../teacher.php");
  39. } else {
  40. echo "Error: " . $sql . "<br>" . mysqli_error($db);
  41. }
  42. }
  43. header("Location: ../teacher.php");
  44. }