[PHP-users 17493]Re: frameで分けたページが表示されません

Kenji Ono ono @ fjct.fujitsu.com
2003年 8月 23日 (土) 16:37:49 JST


小野です。

どなたかも指摘してましたが、業務上見せたくないところは伏せると
しても、この状態のソースをのせるだけでは指摘してくれなくなりますよ。
Java的発想ですみませんが・・・。
セッションIDとやらは「可変で作成される」名前ですよね。
それを親で作成して子供に渡したいとすると、
<frame src="http://xxxxxx/a.php?sid=セッションID>
とならなければ子供には渡りませんよね。
だけど、本当のソースは上記のようになっていると、おっしゃってます
から、話しが先に進みません。
親子関係はHTTPの世界はひきづれない為、パラメータ名で渡すしか
ありません。
きちんとパラメータ名があってないと引き継げないのです。
そういった意味で、出来上がったHTMLの親と子をMLにアップして
子供のプログラムではどのように親で作成したセッションIDを拾うの
かだけでもMLにアップすればもう少し欲しい回答がもらえると思います。


> やりたい事は、フレーム分けしているTopのpageでセションIDを
> 取得し、引き継ぐ情報をセション変数に格納する。
> 各フレームに読込むプログラムへセションIDを渡す。
> 各プログラムは受け取ったセションIDに登録されている
> データを使用して、DBからデータを取得し表示します。
> 
> top.php
> 
> <?php
>       session_start();
>       $_SESSION['XXXX'] = 'aaaa';
>             :
>             :
> ?>
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
> <html>
> <head>
> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
> <title>honyara</title>
> </head>
> <frameset rows="100px,*">
>       <frame src="http://xxxxxx/a.php?<?php echo SID ?>" name="frame0"
> noresize scrolling="no"
>             frameborder="0" framespacing="0">
>       <frameset cols="300px,*">
>             <frame src="http://xxxxxx/b.php?<?php echo SID ?>" name
> ="frame1" noresize scrolling="no"
>                   frameborder="0" framespacing="0">
>             <frame src="http://xxxxxx/c.php?<?php echo SID ?>" name
> ="frame2" noresize scrolling="yes"
>                   frameborder="0" framespacing="0">
>       </frameset>
> </frameset>
> </html>
> 
> 各ページに読込むページは個々にDBに接続して、取得した情報を表示していま
> す。
> 
> a.php
> 
> <?php
>       // 使用する変数、配列を初期化
>       $arr_data = array();
>       $i = 0;
> 
>       session_start();
>             :
>       セションIDに登録されている
>       データを使用してDBから情報取得
>       配列$arr_dataに格納
>             :
> ?>
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
> <html>
> <head>
> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
> <meta http-equiv="Content-Style-Type" content="text/css">
> <title></title>
> <link rel="stylesheet" href="style/test.css" type="text/css"></link>
> </head>
> <body>
> <table border="1" cellpadding="0" cellspacing="0">
> <tr>
> <?php
>       for ($i = 0;$i < $i_max; $i++)      {
>             print("<td class="tdc1">" .$arr_date($i) ."</td>");
>       }
> ?>
> </tr>
> </table>
> </body>
> </html>
> 
> b.php c.phpもa.phpと同様なコードの記述です。
> 使用しているDBはOracle8.1.7です。
> 
> 各ページに個別にアクセスする様にして
> ブラウザで表示すると、思っているとおりの表示を行うのですが
> フレーム分けして各フレームに読込むと、表示されません
> 個別にアクセスする時に、セションIDは正しく引き渡されています。
> 
> 
> 業務上の関係もあり、詳しく情報を乗せる事が出来ず申し訳ありません
> 
> 
> 
> _______________________________________________
> PHP-users mailing list
> PHP-users @ php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
> 


PHP-users メーリングリストの案内