Skip to content

Student Listing: Adding Navigation Menu - Remove Student

removestudent.php - Student Listing: Complete Code Listing

  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
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
<?php
    require_once('pagetitles.php');
    $page_title = SL_REMOVE_PAGE;
    require_once('authorizeaccess.php');
?>
<!DOCTYPE html>
<html>
  <head>
    <title><?= $page_title ?></title>
    <link rel="stylesheet"
          href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css"
          integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS"
          crossorigin="anonymous">
  </head>
  <body>
  <?php
    require_once('navmenu.php');
  ?>
    <div class="card">
      <div class="card-body">
        <h1><?= $page_title ?></h1>
        <hr/>
        <?php
            require_once('dbconnection.php');
            require_once('queryutils.php');
            require_once('studentimagefileutil.php');

            $dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME)
                    or trigger_error('Error connecting to MySQL server for DB_NAME.',
                            E_USER_ERROR);

            if (isset($_POST['delete_student_submission'], $_POST['id'])):

                $id = $_POST['id'];

                // Query image file from DB
                $query = "SELECT image_file FROM studentListing WHERE id = ?";

                $result = parameterizedQuery($dbc, $query, 'i', $id)
                      or trigger_error(mysqli_error($dbc), E_USER_ERROR);

                if (mysqli_num_rows($result) == 1)
                {
                    $row = mysqli_fetch_assoc($result);

                    $student_image_file = $row['image_file'];

                    if (!empty($student_image_file))
                    {
                        removeStudentImageFile($student_image_file);
                    }
                }

                $query = "DELETE FROM studentListing WHERE id = ?";

                $result = parameterizedQuery($dbc, $query, 'i', $id)
                      or trigger_error(mysqli_error($dbc), E_USER_ERROR);

                header("Location: index.php");

            elseif (isset($_POST['do_not_delete_student_submission'])):

                header("Location: index.php");

            elseif (isset($_GET['id_to_delete'])):
        ?>
                <h3 class="text-danger">Confirm Deletion of the Following Student Details:</h3><br/>
        <?php
                $id = $_GET['id_to_delete'];

                $query = "SELECT * FROM studentListing WHERE id = ?";

                $result = parameterizedQuery($dbc, $query, 'i', $id)
                      or trigger_error(mysqli_error($dbc), E_USER_ERROR);

                if (mysqli_num_rows($result) == 1):

                    $row = mysqli_fetch_assoc($result);

                    $student_image_file = $row['image_file'];

                    if (empty($student_image_file))
                    {
                        $student_image_file = SL_UPLOAD_PATH . SL_DEFAULT_STUDENT_FILE_NAME;
                    }
            ?>
            <h1><?=$row['first_name'] . ' ' . $row['last_name']?></h1>
            <div class="row">
              <div class="col-3">
                <img src="<?=$student_image_file?>" class="img-thumbnail" style="max-height: 200px;" alt="Student image">
              </div>
              <div class="col"> 
                <table class="table table-striped">
                  <tbody>
                    <tr>
                      <th scope="row">First Name</th>
                      <td><?=$row['first_name']?></td>
                    </tr>
                    <tr>
                      <th scope="row">Last Name</th>
                      <td><?=$row['last_name']?></td>
                    </tr>
                    <tr>
                      <th scope="row">Email</th>
                      <td><?=$row['email']?></td>
                    </tr>
                  </tbody>
                </table>
                <form method="POST" action="<?=$_SERVER['PHP_SELF'];?>">
                  <div class="form-group row">
                    <div class="col-sm-4">
                      <button class="btn btn-danger" type="submit" name="delete_student_submission">Delete Student</button>
                    </div>
                    <div class="col-sm-4">
                      <button class="btn btn-success" type="submit" name="do_not_delete_student_submission">Don't Delete</button>
                    </div>
                    <input type="hidden" name="id" value="<?= $id ?>;">
                  </div>
                </form>
              </div>
            </div>
            <?php
                else:
            ?>
        <h3>No Student Details :-(</h3>
            <?php
                endif;

            else: // Unintended page link -  No Student to remove, link back to index

                header("Location: index.php");

            endif;
        ?>
      </div>
    </div>
    <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js" integrity="sha384-wHAiFfRlMFy6i5SRaxvfOCifBUQy1xHdJ/yoi7FRNXMRBu5WHdZYu1hA6ZOblgut" crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js" integrity="sha384-B0UglyR+jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k" crossorigin="anonymous"></script>
  </body>
</html>