送信時にデータをチェックするフォームがあります。データが無効な場合、現在、テキストをエコーしています。
テキストをエコーしてから一時停止してリダイレクトしたい。
私は sleep(); を試しました。しかし、それにより送信時にページがスリープ状態になり、x秒待機してから、エコーを表示せずに続行します
これを回避する方法のアイデア
エラー メッセージを正常に送信し、メタ リフレッシュを使用して x 秒後にリダイレクトを行います。
<?php
// your code that determines there is an error goes here
header('Refresh: 10;url=your_page.php');
echo $errorMessage;
header()
呼び出しは、次のメタ タグと同じです。
<meta http-equiv="refresh" content="10;URL='your_page.php'">
シンプルな (確かに非常に古い方法ですが) 解決策は、一定期間後にユーザーをリダイレクトする手段としてメタ リフレッシュを出力することです。(下の例では 5 秒)。
<meta http-equiv="refresh" content="5;URL='http://dest.url/whereever/'">
これは、他のメタ タグと同様に、HTML の head 内に配置するだけです。(詳細については、ウィキペディアのページを参照してください。)