因此,在我的网站上,我发送的电子邮件中包含用户必须关注的链接,以验证他/她的电子邮件。如果用户单击电子邮件中的链接,我希望用户被带到感谢他/她确认他/她的帐户的页面,然后将用户重定向到登录页面。我怎样才能做到这一点?我尝试使用PHP头函数,但这不起作用因为我必须发送标题来显示“谢谢”消息,所以我不能使用该函数。我该怎么做才能让它发挥作用?
答案 0 :(得分:0)
您可以使用元刷新在一段时间后执行重定向。要在5秒内重定向,请将此代码放在网页的<head>
中:
<meta http-equiv="refresh" content="5;URL='http://example.com/'">
您也可以使用HTTP标头执行此操作:
header('Refresh: 5;URL='http://example.com/');
或者使用JavaScript:
<script type="text/javascript">
function delayedRedirect(){
window.location = "http://example.com/"
}
</script>
<body onLoad="setTimeout('delayedRedirect()', 3000)">
答案 1 :(得分:0)
尝试php sleep()函数 enter link description here
你可以这样使用
<?php
if(email code validation evaluates to true by comparing to DB record)
{
echo"thank you message"
sleep(20);
header('location:http://www.somesite.com/login.php');
}
?>
如果它给出一些标题错误。在
之后使用ob_start()答案 2 :(得分:0)
最简单的方法可能是使用GET。
这样做的方法是你发送一个带有GET变量的链接,你可以用php提取并激活电子邮件地址。
E.g。如果用户收到链接: http://example.com/verifymail.php?email=johndoe@example.com&verify=true
然后example.com/verifymail.php上的脚本可以访问电子邮件并验证变量,如下所示:
<?php
if($_GET['verify'] == 'true'){
verifyEmail($_GET['email']);
}
?>
您可以使用任何语言形成链接,只需按照约定: - ? URL告诉php后GET变量如下。变量有名称=值对。和变量由&amp;分隔