<?phprequire_once('pagetitles.php');$page_title=SL_ADD_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><?phprequire_once('navmenu.php');?> <div class="card"> <div class="card-body"> <h1><?=$page_title?></h1> <hr/><?php$display_add_student_form=true;$student_first_name="";$student_last_name="";$student_email="";// pro-tip: you can test multiple variables within a single isset() callif(isset($_POST['add_student_submission'],$_POST['student_first_name'],$_POST['student_last_name'],$_POST['student_email'])){require_once('dbconnection.php');require_once('queryutils.php');require_once('studentimagefileutil.php');$student_first_name=$_POST['student_first_name'];$student_last_name=$_POST['student_last_name'];$student_email=$_POST['student_email'];/* Here is where we will deal with the file by calling validateStudentImageFile(). This function will validate that the student image file is not greater than 128 characters, is the right image type (jpg/png/gif), and not greater than 512KB. This function will return an empty string ('') if the file validates successfully, otherwise, the string will contain error text to be output to the web page before redisplaying the form. */$file_error_message=validateStudentImageFile();if(empty($file_error_message)){$dbc=mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME)ortrigger_error('Error connecting to MySQL server for'.DB_NAME,E_USER_ERROR);$student_image_file_path=addStudentImageFileReturnPathLocation();$query="INSERT INTO studentListing (first_name, last_name, email, image_file) "." VALUES (?, ?, ?, ?)";$results=parameterizedQuery($dbc,$query,'ssss',$student_first_name,$student_last_name,$student_email,$student_image_file_path)ortrigger_error(mysqli_error($dbc),E_USER_ERROR);$display_add_student_form=false;?> <h3 class="text-info">The Following Student Details were Added:</h3><br/> <h1><?="$student_first_name$student_last_name"?></h1> <div class="row"> <div class="col-2"> <img src="<?=$student_image_file_path?>" 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><?=$student_first_name?></td> </tr> <tr> <th scope="row">Last Name</th> <td><?=$student_last_name?></td> </tr> <tr> <th scope="row">Email</th> <td><?=$student_email?></td> </tr> </tbody> </table> </div> </div> <hr/> <p>Would you like to <a href='<?=$_SERVER['PHP_SELF']?>'> add another student</a>?</p><?php}else{// echo error messageecho"<h5><p class='text-danger'>".$file_error_message."</p></h5>";}}if($display_add_student_form){?> <form enctype="multipart/form-data" class="needs-validation" novalidate method="POST" action="<?=$_SERVER['PHP_SELF']?>"> <div class="form-group row"> <label for="student_first_name" class="col-sm-3 col-form-label-lg">First Name</label> <div class="col-sm-8"> <input type="text" class="form-control" id="student_first_name" name="student_first_name" value= '<?=$student_first_name?>' placeholder="First Name" required> <div class="invalid-feedback"> Please provide a valid first name. </div> </div> </div> <div class="form-group row"> <label for="student_last_name" class="col-sm-3 col-form-label-lg">Last Name</label> <div class="col-sm-8"> <input type="text" class="form-control" id="student_last_name" name="student_last_name" value= '<?=$student_last_name?>' placeholder="Last Name" required> <div class="invalid-feedback"> Please provide a valid last name. </div> </div> </div> <div class="form-group row"> <label for="student_email" class="col-sm-3 col-form-label-lg">Email</label> <div class="col-sm-8"> <input type="email" class="form-control" id="student_email" name="student_email" value= '<?=$student_email?>' placeholder="Email" required> <div class="invalid-feedback"> Please provide a valid email address. </div> </div> </div> <div class="form-group row"> <label for="student_image_file" class="col-sm-3 col-form-label-lg"> Student Image File</label> <div class="col-sm-8"> <input type="file" class="form-control-file" id="student_image_file" name="student_image_file"> </div> </div> <button class="btn btn-primary" type="submit" name="add_student_submission">Add Student</button> </form> <script> // JavaScript for disabling form submissions if there are invalid fields (function() { 'use strict'; window.addEventListener('load', function() { // Fetch all the forms we want to apply custom Bootstrap validation styles to var forms = document.getElementsByClassName('needs-validation'); // Loop over them and prevent submission var validation = Array.prototype.filter.call(forms, function(form) { form.addEventListener('submit', function(event) { if (form.checkValidity() === false) { event.preventDefault(); event.stopPropagation(); } form.classList.add('was-validated'); }, false); }); }, false); })(); </script><?php}// Display add student form?> </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>