2012-07-12 61 views
1

因此,在我的網站上,我發送電子郵件與用戶必須遵循的鏈接,以驗證他/她的電子郵件。如果用戶單擊電子郵件中的鏈接,我希望用戶被帶到感謝他/她確認其帳戶的頁面,然後將用戶重定向到登錄頁面。我怎樣才能做到這一點?我嘗試使用PHP頭函數,但這不起作用,因爲我必須發送頭來顯示「謝謝」消息,所以我不能使用該函數。我能做些什麼才能使這個工作?重定向用戶登錄頁面,如果確認電子郵件

回答

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)"> 
+0

有沒有辦法只重定向頁面,如果一個PHP值評估爲真?如果圍繞這個標籤進行測試,我可以放一個PHP嗎? – user532493 2012-07-12 03:38:24

+0

當然。如果他們的測試失敗,你可以簡單地不做以上任何一項。 – 2012-07-12 03:39:41

+0

我可以只包含元標記在'<? if(variable){meta tag}?>'code? – user532493 2012-07-12 03:47:46

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

最簡單的方法可能是使用GET。

這種方式的工作原理是,你發送一個鏈接與GET變量,你可以提取與PHP和激活電子郵件地址。

E.g.如果用戶收到的鏈接: http://example.com/[email protected]&verify=true

然後在example.com/verifymail.php腳本可以訪問電子郵件,並確認變量,像這樣:

<?php 
    if($_GET['verify'] == 'true'){ 
    verifyEmail($_GET['email']); 
    } 
?> 

可以形成任何語言的聯繫,只要按照約定: - ?在URL告訴php後面的GET變量。變量名稱=值對。和變量被分開&

相關問題