Подумайте, как именно вы собираетесь это реализовать.Важным моментом является то, когда форма входа в систему обрабатывается;после того, как пользователь успешно вошел в систему, вы хотите отправить его на /
, но если он попытался что-то купить, вы хотите отправить его на /buy
.Так как же сохранить предыдущее намерение, чтобы оно могло быть прочитано сервером во время перенаправления?
Один из простых вариантов - добавить параметр GET в URL.Вместо того, чтобы отправлять их на /login
, вы отправляете их на /login?redirect=buy
.Затем вы используете <form>
без action
, который сохранит URL для обрабатываемого узла.После входа в систему вы просто проверяете, есть ли параметр redirect
, и действуете соответствующим образом.
Другой способ - сохранить намерение пользователя в параметре session
и прочитать его обратно в соответствующее время.
На самом деле возникает вопрос: «Как хранить информацию для пользователя, который выжил при переходе на новую страницу, и которую я могу прочитать на сервере в любое время?»Как только вы удалите конкретный вариант использования из более общей проблемы, вам будет легче найти существующие ответы.