【问题标题】:Intended URL redirect upon form submission表单提交时的预期 URL 重定向
【发布时间】:2011-08-19 15:20:08
【问题描述】:

我正在开发一个 WordPress 网站,该网站有一个带有“SplashScreen”插件的静态挤压页面。

用户可以从两个选项中进行选择:

A.) 在表格中输入他们的电子邮件地址以继续访问该站点。

B.) 点击该字段下方的链接,允许他们绕过提供电子邮件。

目前,用户在发送电子邮件后会被带到感谢页面,然后他们可以在其中单击链接以进入主页。或者,如果他们单击绕过链接,他们将被直接带到主页。但是,只有当他们直接来到现场时,这才有效。如果他们是通过指向特定帖子或页面的直接链接来到该网站的,他们将不会被带回到他们最初打算查看的页面。

我要做的是让他们在填写表格或点击绕过链接后直接进入该预期页面。我到处寻找这个,我只能找到有关如何在登录后将用户重定向回其预期页面的信息。我知道该怎么做,这有点复杂。

挤压页面是一个简单的静态 HTML 页面,它使用 Javascript 设置 cookie,因此页面只出现一次:

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 将是理想的。希望你们中的一个可以帮助我解决这个问题。我在这上面浪费了很多时间。

【问题讨论】:

    标签: php javascript jquery wordpress redirect


    【解决方案1】:

    您可以分三个步骤完成此操作:

    1. 将用户的 URL 请求临时存储在同一个 cookie 中。您可以使用 PHP http://$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; 或 JavaScript (document.URL) 获取请求的 URL。
    2. 像使用“splash”cookie 一样处理启动检查。
    3. 如果最初尝试的 URL 不是主页/启动页面,请再次使用 PHP 重定向到它。

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

    【讨论】:

      【解决方案2】:

      虽然我没有在您的问题中看到代码,它将用户重定向到某个地方,但可以通过发送带有新位置的重定向标头将他重定向到正确的页面。可以从 $_SERVER['HTTP_HOST'] 和 $_SERVER['REQUEST_URI'] 读取原始位置。这些应该放在重定向的链接/目标页面上,这可能意味着您必须编辑 SplashScreen-Plugin 才能发送:

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

      请记住,当一些其他内容已经发送时,可能不会发送任何标题。

      【讨论】:

        猜你喜欢
        • 2014-08-22
        • 1970-01-01
        • 2013-02-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-29
        相关资源
        最近更新 更多