そのため、私のWebサイトでは、ユーザーが自分の電子メールを確認するためにたどる必要のあるリンクを含む電子メールを送信します。ユーザーがメール内のリンクをクリックすると、アカウントを確認してくれたことに感謝するページに移動し、ログインページにリダイレクトしてほしいと思います。これどうやってするの?PHPヘッダー関数を使用してみましたが、「ありがとう」メッセージを表示するためにヘッダーを送信する必要があるため、この関数を使用できません。これを機能させるにはどうすればよいですか?
3 に答える
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()を使用する
メタリフレッシュを使用して、設定された時間が経過した後にリダイレクトを実行できます。5秒でリダイレクトするには、次のコードを<head>
Webページのに配置します。
<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)">
最も簡単な方法は、おそらく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変数が続くことを伝えた後。変数はname=valueのペアで提供されます。変数は&で区切られます