【问题标题】:check if user activated their account via email and display message after clicking on activation link PHP/JavaScript检查用户是否通过电子邮件激活了他们的帐户并在单击激活链接 PHP/JavaScript 后显示消息
【发布时间】:2011-06-14 17:00:35
【问题描述】:

我正在使用 Zend 框架开发一个项目,该项目要求用户通过查看电子邮件并单击激活链接来激活其帐户。激活链接工作正常,用户可以在他们的帐户设置为活动后登录。我的问题是当用户点击激活链接并被重定向到主页时,我如何显示一条消息,确认他们的帐户已被激活。

我试图编写一个 if 语句来检查 HTTP_REFERER 是否 = 激活链接的 URL。但这没有用。任何帮助将不胜感激。

这是 if 语句:

<script language="javascript" type="text/javascript">
$(document).ready(function() {

<?php if ($_SERVER['HTTP_REFERER'] == 'activationLinkGoesHere'){ ?>

    $("#suc_message").html('<?php echo 'Your account has been activated!';?>');
    $("#suc_message").fadeIn(2000);
    $("#suc_message").fadeOut(20000);

<?php } ?>

});
</script>

谢谢:)

【问题讨论】:

  • 感谢大家的意见。你不知道你刚刚帮助了我多少。谢谢! :)

标签: php javascript zend-framework


【解决方案1】:

是否有原因您不能在激活页面上设置会话变量,然后在主页上的 php 中检查它?如果已设置,请使用 php 注入一些 javascript(只需一个简单的布尔标志即可),然后检查页面何时加载。

【讨论】:

    【解决方案2】:

    抱歉原来的答案,我没有正确阅读。

    我个人只会在网址末尾添加一些内容:

    http://mysite.com/thanks.php?Reg=1
    

    ..查找 reg 部分,如果存在则注入消息。

    编辑

    回到这一点,我要补充一点,将 url 添加到布尔值中是非常重要的。例如,如果您找到?Reg=1?LoggedIn=1 并分别显示“您注册成功”和“您登录成功”,您可以显示多条消息。

    不要在您的 javascript 中传递任何内容,然后 使用 进行显示或其他用途。

    不要让它触发任何动作。

    按照上述操作,您将不会被别人摆弄 url 以与您一起玩乐。

    【讨论】:

    • 因为没有正确阅读问题而给我加分 - 羞愧
    • 这对我来说是最简单的方法。感谢您的帮助。
    【解决方案3】:

    如果您使用 Zend Framework,那么您必须使用 FlashMessenger。它就是为这个目的而设计的。

    记得在控制器的操作中使用助手的静态方法。

    那么对于视图使用noumenal's优秀的视图助手;然后,您可以将其放入您的布局或视图脚本中。

    就这么简单。希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2014-08-17
      • 2014-02-01
      • 1970-01-01
      • 2016-08-28
      • 2013-07-24
      • 2020-03-27
      • 2019-07-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多