In Parse PHP SDK If the current user want to change his Email/username normally Parse check if username used by other user and if it is used it will return error, now this is good and work perfectly so far but the issue is the session is automatically updates to the new value where it failed.
so basically the session for the current user updated even if it wasn't for the backend
Steps to reproduce
$currentUser = Parse\ParseUser::getCurrentUser();
echo "Current Username is : ". $currentUser->get("username");
if ($currentUser) {
$currentUser->set("username", "ww");
try {
$currentUser->save();
echo "UPDATED";
} catch (Parse\ParseException $er) {
$ex = $er->getMessage();
echo "<br> Error: ". $ex;
}
}
here is a video that explains more:
$currentUser->fetch()in your catch method, or instantiate a new user object, do the change attempt in this new object, and finally$currentUser->fetch()only in case of success.$currentUser->fetch()can you post your comment in answer so i can mark it as accepted answer, thank you !