下面有三个内部链接。
<a href="#modal" >Link1</a>
<a href="#modal" >Link2</a>
<a href="#modal" >Link3</a>
当我点击Link1时,它必须重定向到Page1.html 当我点击Link2时,它必须重定向到Page2.html 当我点击Link3时,它必须重定向到Page3.html
三个链接使用相同的内部链接,用于登录弹出窗口。
登录完成后,链接应重定向到相应的页面。
因为我使用OpenID进行登录和重定向
$openid->returnUrl = 'http://localhost:60325/page1.html' ;
问题是,当我点击link1 link2和link3时,它会重定向到page1.html。
请帮我一个代码,以确定点击了哪个内部链接。
期待尽快收到你的回复。
答案 0 :(得分:0)
如果您发布没有ajax的表单,则可以在php中进行
header("Location: http://yoursite.bb");
如果您的表单是通过ajax处理的,那么您需要在得到肯定或否定回复后进行重定向。
类似的东西:
document.location.href = 'http://yoursite.bb';
PS:解决问题并描述我们了解你的具体展览代码
我个人不明白,您需要重定向,还是确定点击了哪个链接?
也许对于您的链接,您需要为他们提供不同的链接,并且他们引用相同的位置,并且他们没有不同的ID或类
答案 1 :(得分:0)
处理身份验证的一种更安全的方法是在服务器端执行此操作,从不在客户端执行此操作,您可以使用PHP或其他服务器端语言轻松执行此操作,然后使用基于HTTP的请求重定向
关于PHP的例子:
// On the prev urls
@session_start();
$_SESSION['prev_url'] = $_SERVER['REQUEST_URI'];
// This will provide the internal link for example /index.html
并在认证文件中输入:
//after authentication
@session_start();
$prev_url = $_SESSION['prev_url']; // pass the saved value
header("Location: ".$_SERVER['HTTP_REFERER']."/".$prev_url); // redirect
答案 2 :(得分:0)
您可以使用$_GET
方法并添加您想要去的位置......
<a href="login.php?redirect=page1">link1</a>
<a href="login.php?redirect=page2">link2</a>
<a href="login.php?redirect=page3">link3</a>
然后在您的登录验证中使用switch语句,如下所示......
$location = $_GET['redirect'];
function getRedirect ($option){
switch($option){
case page1:
header("location: page1.php");
break;
case page2:
header("location: page2.php");
break;
case page3:
header("location: page3.php");
break;
}
}
$redirect = getRedirect($location);
if(10 > 1){
$redirect;
}
这取决于最初点击链接的最终链接,登录验证成功将用户发送给更改
(我使用10 > 1
使成功成功,以便您能够快速测试代码并查看其工作原理)