1

因此,在我的网站上,我发送带有链接的电子邮件,用户必须遵循这些链接来验证他/她的电子邮件。如果用户单击电子邮件中的链接,我希望用户被带到感谢他/她确认他/她的帐户的页面,然后将用户重定向到登录页面。我怎样才能做到这一点?我尝试使用 PHP 标头函数,但这不起作用,因为我必须发送标头以显示“谢谢”消息,所以我不能使用该函数。我该怎么做才能让它发挥作用?

4

3 回答 3

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)">
于 2012-07-12T03:36:46.597 回答
0

尝试 php sleep() 函数 在此处输入链接描述

你可以这样使用

<?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()

于 2012-07-12T03:50:59.963 回答
0

最简单的方法可能是使用 GET。

它的工作方式是您发送一个带有 GET 变量的链接,您可以使用 php 提取该链接并激活电子邮件地址。

例如,如果用户收到链接: 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 变量之后。变量以名称=值对的形式出现。和变量由 & 分隔

于 2012-07-12T03:57:50.307 回答