I created a modal form (that pops up upon a link click, i.e trigger()). This is the HTML code:
<div class="modalbg">
      <div class="modalPopup">
        <form action="samepage.php" class="formContainer" method="post">
          <h2>Change Desk Number</h2>
          <label for="studentid">
            <strong></strong>
          </label>
          <input type="password" placeholder="Your KEY" name="studentid" required/>
          <label id="status" style="color:red;"></label>
          <button type="submit" class="btn" onclick="return verify()">Upgrade</button>
          <button type="button" class="btn cancel" onclick="closeForm()">Close</button>
        </form>
      </div>
</div>
The JavaScript that controls this modal is:
function trigger(){
    document.getElementById("modalPopup").style.display = "block";
            
        
          }
          function closeForm() {
            document.getElementById("modalPopup").style.display = "none";
          }
          function verify() {
                var studentid = document.getElementById("studentid").value;
            if (studentid != dbstudentid || !studentid){
                document.getElementById("status").innerHTML="Invalid Student ID!";
                function trigger(event) { event.preventDefault(); } 
                return false;
                }
            else{
                document.getElementById("modalPopup").submit();
            }
          }
Everything works at this point (i.e it pops up whenever I click the link and whenever I knowingly try to enter a wrong studentid, it returns the "Invalid student ID" on the "status" label. (Note: I had already saved the session's student ID in the variable dbstudentid using:
var dbstudentid = <?php echo json_encode($dbstudenid);?>;
My problem however comes from when I try to execute the PHP on the same page.
Whenever I insert the PHP code into the modalbg div or modalPopup div inside it, the entire modal refuses to pop, let alone submit.
This is the PHP code I used (it should be noted that at the beginning of the page, I had already used include(configure-db.php) and session_start() ) :
<?php
if(isset($_POST['studentid'])){
  $studentid = $_POST['studentid'];
  $desk = 1;
  $deskstatus ="";
        
  $select = "UPDATE users SET deskNo = '$desk' WHERE name='$SESSION';
}
if (mysqli_query($MyConn, $select)) {
  $deskstatus = "Desk changed successfully!";
} else {
  $deskstatus = "Error";
} return $deskstatus;
?>
I have tried everything, the modal just refuses to come every time, let alone successfully make the Desk Update on my Database. to make things worse, whenever I refresh the page, the modal which I set to display:none; by default on CSS suddenly starts showing. But whenever I remove the PHP code, it returns to normal.
Do I need to make the action execute in a separate page? If yes, please how?
Else, how please?
 
     
    