2011-08-19 93 views
0

我正在使用插件「SplashScreen」創建一個靜態擠壓頁面的WordPress網站。表單提交時意向的URL重定向

用戶可以從兩個選項中進行選擇:

A.)在表單中輸入他們的電子郵件地址進行現場。 B)點擊位於該字段下的鏈接,允許他們繞過給他們的電子郵件。

目前,用戶在收到電子郵件後會被帶到一個感謝頁面,然後點擊鏈接進入主頁。或者,如果他們點擊旁路鏈接,他們會直接進入主頁。但是,如果他們直接來到現場,這隻會奏效。如果他們通過直接鏈接到特定的帖子或頁面來到網站,他們將不會被帶回原本打算查看的頁面。

我期待的是讓他們在填寫表格或點擊旁路鏈接時直接進入預期的頁面。我已到處尋找這個,我能找到的所有信息都是關於如何在登錄後將用戶重定向回其預期頁面的信息。我知道如何做到這一點,這有點複雜。

擠壓頁面是使用Javascript功能來設置Cookie,這樣的頁面只出現了一次簡單的靜態HTML頁面:

function setCookie(name, value, expires, path, domain, secure) { 
document.cookie = name + "=" + escape(value) + 
((expires) ? "; expires=" + expires.toGMTString() : "") + 
((path) ? "; path=" + path : "") + 
((domain) ? "; domain=" + domain : "") + 
((secure) ? "; secure" : ""); 
} 

function setsplash() { 
var exp = new Date(); 
var expDays = 365; 
exp.setTime(exp.getTime() + (expDays * 24 * 60 * 60 * 1000)); 
setCookie("splash", "1", exp, "/"); 
} 

和:

<input class="sub-btn-join" type="submit" value="" onclick="setsplash()"> 

我願意使用任何工作,但JavaScript或jQuery將是理想的。希望你們中的一個能幫助我解決這個問題。我浪費了很多時間。

回答

0

雖然我沒有看到問題中的代碼,它會將用戶重定向到某個地方,但可以通過發送帶有新位置的重定向標頭將其重定向到正確的頁面。原始位置可以從$ _SERVER ['HTTP_HOST']和$ _SERVER ['REQUEST_URI']中讀取。這些應該重定向的鏈接/目標頁面,這可能意味着你必須編輯閃屏,插件發送此上放:記住

header('Location: '.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']); 

熊,沒有頭,可以發送,當其他一些內容已經發送。

1

可以分三個步驟做到這一點:

  1. 暫時存儲在同一cookie中的用戶的URL請求。您可以使用PHP 或JavaScript(document.URL)獲取請求的URL。
  2. 處理飛濺檢查就像你已經與「飛濺」的cookie。
  3. 如果原始嘗試的URL不是主頁/啓動頁面,請再次使用PHP重定向到它。

    <?php 
        header('Location: http://www.example.com/the_page_we_first_wanted.html') ; 
    ?>