[PHP-users 9471] Re: header()を使用したフレーム全体のリロード
Tadashi Oh-Ya
php-users@php.gr.jp
Sat, 24 Aug 2002 10:09:43 +0900
おおやです。
みなさま回答ありがとうございました。
一応自己解決できたようなので報告します。
From: Tadashi Oh-Ya <toy@k-cable.co.jp>
Subject: [PHP-users 9463] header()を使用したフレーム全体のリロード
Date: Fri, 23 Aug 2002 20:04:12 +0900
> 下記のコードを書いてみたのですが、ログイン終了時に下部フレームの中
> で新たにフレームが分割されて表示されてしまいました。
>
先回試作しましたコードでは、phplib/loginform.ihtmlの終了時に
・下部フレームが新たな親フレームとして扱われる。
・新たな親フレーム内において、全体をリロードするLocationヘッ
ダが働くため、フレーム構造が入れ子になる。
という状況になっていると考えました。
そこで、
・phplib/loginform.ihtmlの実行終了時に(つまりログイン作業終
了時に)表示の基準位置を親フレームに移動させておく。
・その後コンテンツそのものが表示される際に、フレーム全体を
Locationヘッダでリロードする。
という二段階を踏むことにしました。
先回のmainframe.phpとcontents.phpはそのままにして、loginform.ihtml
に以下のように手を加えました。
-----------------------------------------------------------------
<HTML> <!-- phplib/loginform.ihtml -->
<HEAD>
<TITLE>Simple Login Form</TITLE>
</HEAD>
<BODY>
<FORM ACTION="<?php print $this->url() ?>" TARGET="_top" method="post">
<!-- あるいは TARGET="_parent" -->
Username:<INPUT TYPE="text" NAME="username">
Password:<INPUT TYPE="password" NAME="password">
<INPUT TYPE="submit" NAME="submit" VALUE="Login Now!">
</FORM>
</BODY>
</HTML>
-----------------------------------------------------------------
以上の変更で、期待通りの動作をするようになりました。