How do I refresh session variables so after a user edits first and last name, they are immediately shown? Right now, I need to logout and login again so that I can see the changes entered, because session is restarted, right? What should I do? Ajax? Angular? I am truly lost. I need your guidance. Thank you!!
Here is the form in edit.php:
<form method="post" action="edit.php" name="user_edit_first_last_name" >
<label for="user_first_name"><?php echo WORDING_NEW_FIRST_NAME; ?></label>
<input id="user_first_name" type="text" name="user_first_name" value = "<?php echo $_SESSION['user_first_name']; ?>" required />
<label for="user_last_name"><?php echo WORDING_NEW_LAST_NAME; ?></label>
<input id="user_last_name" type="text" name="user_last_name" value = "<?php echo $_SESSION['user_last_name']; ?>" required />
<input type="submit" name="user_edit_first_last_name_submit" value="<?php echo WORDING_CHANGE_FIRST_LAST_NAME; ?>" />
</form><hr/>
This is the other php file called login.php where code resides:
calling the function when submit button is pressed:
}elseif(isset($_POST["user_edit_first_last_name_submit"])){
$this->editUserFirstLastName($_POST['user_first_name'], $_POST['user_last_name']);
}
Actual function that does the business:
public function editUserFirstLastName($user_first_name, $user_last_name){
// prevent database flooding
$user_first_name = substr(trim($user_first_name), 0, 64);
$user_last_name = substr(trim($user_last_name), 0, 64);
$result_row = $this->getUserData($_SESSION['user_name']);
$user_name = $_SESSION['user_name'];
$query_edit_user_first_last_name = $this->db_connection->prepare("UPDATE users SET user_first_name = :user_first_name, user_last_name = :user_last_name WHERE user_name = :user_name");
$query_edit_user_first_last_name->bindValue(':user_first_name', $user_first_name, PDO::PARAM_STR);
$query_edit_user_first_last_name->bindValue(':user_last_name', $user_last_name, PDO::PARAM_STR);
$query_edit_user_first_last_name->bindValue(':user_name', $user_name, PDO::PARAM_STR);
$query_edit_user_first_last_name->execute();
}