我有一个名为的页面Login.php.我需要在最后一页之前的页面的URL.
当用户登录表单提交时check_login.php,会检查其用户名和密码.然后我将用户重定向到index.php.
问题是我希望将用户重定向到他们访问过的倒数第二页.
例:
第一个网址: www.example.com/posts/1
第二个网址: www.example.com/login.php
第三个网址: wwww.example.com/check_login.php
所以,如果用户名和密码是正确的=> header('location: www.example.com/posts/1');
有一个解决方案来获取以前的URL:
// login.php
$_SESSION['url'] = $_SERVER['HTTP_REFERER'];
// check_login.php
header('location: '.$_SESSION['url']);
Run Code Online (Sandbox Code Playgroud)
但我需要获得倒数第二个URL,而不是最后一个URL.我怎么能用PHP做到这一点?
做其他人所做的事情:
第一个解决方案:
hidden在页面中创建一个字段,以便用户单击login时将其带到login.php上一个链接的页面。然后,您可以$_SESSION['url']使用此链接执行任何您想要的操作(例如,将其保存到)。
第二种解决方案:
假设您有一个这样的锚点:
<a href="login.php">login</a>。login.php您可以使用而不是仅使用,login.php?redirect_to=http://example.com/post/1以便可以通过请求从login.php页面访问URL $_GET['redirect_to']。
注意:始终记得清理用户输入数据。