weixin_33701617 2015-04-24 11:11 采纳率: 0%
浏览 34

刷新PHP会话变量

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();
    }
  • 写回答

1条回答 默认 最新

  • weixin_33701294 2015-04-24 11:14
    关注

    just set the session values in editUserFirstLastName

    评论

报告相同问题?