2014-10-03 134 views
-2

有三個內部鏈接如下。內部鏈接重定向到另一個頁面

<a href="#modal" >Link1</a> 

<a href="#modal" >Link2</a> <a href="#modal" >Link3</a>

當我點擊鏈接1,必須重定向到Page1.html 當我點擊鏈路2,必須重定向到Page2.html 當我點擊鏈接3,必須重定向到Page3.html

這三個鏈接使用相同的內部鏈接,用於登錄彈出窗口。

一旦登錄完成,鏈接應該重定向到相應的頁面。

由於我使用OpenID的登錄和重定向

$openid->returnUrl = 'http://localhost:60325/page1.html' ; 

的問題是,當我點擊鏈接1鏈接2和LINK3其重定向到page1.html。

請幫我用一段代碼來確定點擊了哪個內部鏈接。

期待您的回覆。

+1

你的問題是什麼? – scrappedcola 2014-10-03 02:32:39

+0

用於標識點擊了哪個內部鏈接的代碼。 – 2014-10-03 02:39:37

+0

誰重定向? JavaScript還是PHP? – Ghost 2014-10-03 02:42:27

回答

0

如果您發佈的形式沒有Ajax可以用PHP

header("Location: http://yoursite.bb"); 

做,如果你是形式的處理。第阿賈克斯,你需要你得到肯定或否定的答覆後做重定向。

喜歡的東西:

document.location.href = 'http://yoursite.bb'; 

PS:理清問題,並描述了具體的展覽代碼,我們理解您

我個人不明白,你需要在重定向頁面,或確定哪些鏈接被點擊了?

也許對你的鏈接,你需要給他們不同的鏈接,他們指的是同一個地方,他們沒有一個不同的ID或類

+0

讓我解釋一下。 當我點擊內部鏈接[Link1]時,頁面應該重定向到page1。 當我點擊內部鏈接[Link2]時,頁面應該重定向到page2。 當我點擊內部鏈接[Link3]時,頁面應該重定向到page3。 – 2014-10-03 03:05:41

+0

如果服務器或客戶端可以重定向你,如果你的鏈接有一個href =「#模式」,並沒有ID或類,我寫你簡單的例子,如果你_POST_的形式,你可以給你一個**頭** **後代碼正在處理或重定向與JavaScript後,你得到的迴應,但你的表單必須有**隱藏輸入**與網頁名稱或網址必須有不同的ID(例如:** Link1 **) – Snowman 2014-10-03 03:32:45

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 
+0

是的,這是偉大的。但怎麼可以我們注意到由於三個內部鏈接具有相同的名稱,所以內部鏈接被點擊了 – 2014-10-03 02:58:37

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讓你能夠對代碼進行測試趕緊看看它是如何工作的)

相關問題