检查用户是否通过电子邮件激活了他们的帐户并在点击激活链接PHP / JavaScript后显示消息

时间:2011-01-24 18:21:45

标签: php javascript zend-framework

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

我试图写一个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>

谢谢:)

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

请记住在控制器的操作中使用帮助程序的静态方法。

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

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

答案 2 :(得分:0)

对不起原来的答案,我没有正确阅读。

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

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

..并查找reg部分并注入消息(如果存在)。

修改

回到这一点,我将补充说,保持url添加到布尔值的东西是非常重要的。例如,如果找到?Reg=1?LoggedIn=1并且分别显示“您已注册正常”和“您已登录确定”,则可以显示多条消息。

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

不要让它触发任何动作。

按照上述说法,你可以安全地摆弄那些摆弄网址的人,让你玩得开心。