私は求めていませんsleep()
。その機能は承知しております。
if(mysql_num_rows($result) == 1){
//DELAY TO OCCUR HERE
echo "You are a validated user.";
header('Location: usermainpage.php');
}
スリープ機能を使用すると、ページの読み込みが遅くなるだけです。エコーが表示されてからリダイレクトが発生するようにします。
テキストを出力する前に、ヘッダーをブラウザーに出力する必要があります。テキストを最初に出力すると、ページの本文は常に最後に出力する必要があるため、ヘッダーを送信する機会が失われます。
テキストを表示した後にブラウザをリダイレクトする場合は、Javascript または META リダイレクトを利用する必要があります。
Javascript
<script type="text/javascript">
setTimeout(function() {
window.location = 'usermainpage.php';
}, 2000);
</script>
値 2000 を、リダイレクトする前に待機するミリ秒数に置き換えます。2000 = 2 秒、10000 = 10 秒。
メタタグ
<meta http-equiv="refresh" content="5; URL='usermainpage.php'">
5
リダイレクトする前に待機する秒数を数値に設定します。
スリープ機能を使用すると、ページの読み込みが遅くなるだけです。エコーが表示されてからリダイレクトが発生するようにします。
これを行うには、古き良き HTTP ヘッダーを使用できます。
header('Refresh: 10; URL=usermainpage.php');
他の出力の前にヘッダーを送信する必要があることに注意してください。そうしないと、「ヘッダーは既に送信されました」というエラーがトリガーされます。出力を制御するには、ob_*
(出力バッファ) 関数ファミリを参照してください。
ページの読み込み後にリダイレクトする場合は、JavaScript を使用するか、メタリフレッシュ リダイレクトを使用する必要があります。