登录后执行功能并重定向到上一页

After Login Execute A Function And Redirect To Previous Page

我创建了一个类似于 all_elements 的页面,其中包含 list of elements 并提供了 adding an element to wishlist 的选项。

步骤如下

  1. 如果用户已登录,该元素将通过 ajax call.
  2. 添加到心愿单
  3. 如果用户未登录,则必须要求用户登录。
  4. 登录成功后,元素必须added to wishlist并重定向到all_elements page

我正在尝试执行以下步骤。

  1. 如果用户未登录,保存 link 以将元素添加到心愿单并重定向到登录页面。
  2. 登录成功后,重定向到all_elements page。但是我每次都在检查 session link which included adding course to wishlist.

但我认为这是糟糕的编码,因为每次我都需要检查 all_elements page 中的会话 link。

请给我建议好的解决方案,我们将不胜感激。

如果我理解正确,这是通过登录页面的 GET 参数完成的(如果表单是 Ajaxy,则为 POST 参数)。

例如,假设我想单击需要登录的某个地方,link我调用了 www.example。com/secret。

您可以将 URI 段(或整个 URL)存储为 $_GET 参数,一旦您登录函数检查 $_GET['redirect'] 是否存在,如果存在,尝试重定向到它。

这样 'redirect' 逻辑嵌入到登录本身,而不是任何其他功能中,这允许您将此功能扩展到网站的任何其他部分,而不是检查会话。

这也可以使用会话来完成,将 link 存储在 $_SESSION['redirect'] 变量中。 无论如何,这些检查应该在登录后进行,而不是在任何单个页面中进行