如何在PHP登录后重定向回来

tar*_*que 1 php authentication login

有时我们从网站获得链接,当我们点击邀请链接时,它只是将我们发送到索引页面进行登录(因为我们没有登录该网站),当登录完成时,网站只是将我们重定向到链接我们点击了.

如何在PHP中实现这一目标?

Pas*_*TIN 5

让我们说"目的地页面"称为" a.php"; 这是一种可能的方式来做你正在描述的事情:

  • 您首先a.php从浏览器 拨打电话
    • a.php 检测到您没有登录
    • 它将您重定向到index.php,使用URL中的参数告诉index.php您应该a.php在登录时重定向到
    • 重定向是使用header函数完成的,Location标题指向类似的东西http://yoursite.com/index.php?destination=a.php
  • index.php,你处理登录机制
    • 即一个带有隐藏字段的表单,其中$_GET['destination']存储(当然适当地转义)
    • 该表格发布到index.php (即自身)或另一页; 没关系.
  • 登录登录表单时:
    • 你查看凭据
    • 如果登录+密码没问题:
      • 如果destination表单数据中有字段,则将用户重定向到相应的页面
      • 否则,您将用户重定向到默认页面.
      • 当然,检查destination字段的内容可能会很有趣,以确保您只接受重定向到"有效"页面( "有效" 的定义可以更改 - 但至少可以表示"您的页面上的页面"现场")