PHPを使い、処理中は「しばらくお待ち下さい」のメッセージを出し、処理後は完了ページに移動させ、終了メッセージを表示させたいと思っています。


以下のソースを書いたのですが、処理後のheaderでエラーが出ます。
headerの前に出力しているからだと思いますが、代替案として何か良い方法は無いでしょうか?
出来ればJavascriptなどを使わず、PHPだけで対応出来ればと思います。


■処理ページ(test.php)
if($_GET["page"]==""){
echo "しばらくお待ち下さい";
ob_end_flush();
for($i=0;$i<3;$i++){
echo ".";
sleep(1);
}
header("Location:comp.php?page=1");
}

■完了ページ(comp.php)
if($_GET["page"]=="1"){
echo "完了";
}

回答の条件
  • 1人2回まで
  • 登録:2008/02/13 12:18:39
  • 終了:2008/02/20 12:20:02

回答(2件)

id:GoldenDawn No.1

GoldenDawn回答回数426ベストアンサー獲得回数812008/02/13 12:45:52

ポイント35pt

PHP だけでなら、セッションで接続を維持しつつ、

Refresh で一定時間ごとに処理完了までページを更新するしかないのでは。

id:kt26

metaタグのrefreshですよね?

header("Refresh: 1;");をforの後に追加したのですが、同じようなエラーが出ました。

2008/02/13 21:39:23
id:b-wind No.2

b-wind回答回数3344ベストアンサー獲得回数4402008/02/13 12:46:46

ポイント35pt

JavaScript 等を使わないのであれば、PHPでクライアントサイドの状況を直接操作するのは無理なので

残る手は一つ。

HTMLタグ/ページ全般タグ/ページの自動ジャンプ - TAG index

refresh で処理確認ページをロード。

完了していれば完了ページに。完了していなければ再度確認ページに refresh するページを出力するぐらいかと。

id:kt26

やっぱりこの方法しかないのですかね。PHPだけで出来ればと思いましたが、metaを使うようにします。

2008/02/13 21:39:57

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません