ここに私がテストした簡単なスクリプトがあります:
<?php
require 'dbcon.php';
header("location:http://google.com");
$time1 = time();
for($i=0;$i<=9999999;$i++){
$j += $i * $i * $i * $i;
}
$time2 = time();
$total = $time2-$time1;
mysql_query("insert into test values('$total')");
?>
このスクリプトの実行には約 15 秒かかり (テストテーブルに 15 が挿入されます)、これらの秒後、ページは指定されたドメインにもリダイレクトされます。
私の質問は、なぜこれが起こるのですか?
私の実際のコードでは、ユーザーを Web ページにリダイレクトしてから、残りのコードを実行してデータベースに保存したいので、ユーザーはあまり待つ必要がありません。それはどのように行われますか?
更新 1:
この質問に答えてください:
最初にユーザーをリダイレクトしてから、データを mysql に挿入します。たとえば、最初にユーザーの IP を取得します。次に、彼をリダイレクトし、IP などからユーザーの国を検出し、情報を mysql に挿入します。それは何とか可能ですか?
UPDATE2: curl拡張機能を
使用して別のサイトからユーザーの国と地域を取得し、データベースに保存したいと考えています。だから数秒かかる…