1

私は求めていませんsleep()。その機能は承知しております。

if(mysql_num_rows($result) == 1){

//DELAY TO OCCUR HERE
echo "You are a validated user.";
    header('Location: usermainpage.php');
    }

スリープ機能を使用すると、ページの読み込みが遅くなるだけです。エコーが表示されてからリダイレクトが発生するようにします。

4

4 に答える 4

1

テキストを出力する前に、ヘッダーをブラウザーに出力する必要があります。テキストを最初に出力すると、ページの本文は常に最後に出力する必要があるため、ヘッダーを送信する機会が失われます。

テキストを表示した後にブラウザをリダイレクトする場合は、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リダイレクトする前に待機する秒数を数値に設定します。

于 2013-04-16T17:53:19.877 に答える
1

スリープ機能を使用すると、ページの読み込みが遅くなるだけです。エコーが表示されてからリダイレクトが発生するようにします。

これを行うには、古き良き HTTP ヘッダーを使用できます。

header('Refresh: 10; URL=usermainpage.php');

他の出力の前にヘッダーを送信する必要があることに注意してください。そうしないと、「ヘッダーは既に送信されました」というエラーがトリガーされます。出力を制御するには、ob_*(出力バッファ) 関数ファミリを参照してください。

于 2013-04-16T17:46:52.093 に答える
0

ページの読み込み後にリダイレクトする場合は、JavaScript を使用するか、メタリフレッシュ リダイレクトを使用する必要があります。

于 2013-04-16T17:49:12.083 に答える