内部链接重定向到另一个页面

时间:2014-10-03 02:31:34

标签: javascript php jquery html redirect

下面有三个内部链接。

<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。

请帮我一个代码,以确定点击了哪个内部链接。

期待尽快收到你的回复。

3 个答案:

答案 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使成功成功,以便您能够快速测试代码并查看其工作原理)