[PHP-users 21989]セッション関数の扱い方

|| MARU || marup @ pop12.odn.ne.jp
2004年 6月 4日 (金) 14:40:22 JST


PHP:4.3.4
Apach:1.3.28
OS:Windows2000

再度、セッションに関して教えて下さい。
エラーは回避できたのですが、二つ目を検索すると
一つ目の結果がクリアされてしまいます。

イメージとしては、検索キーワードを入れるフォームを
10個くらい設置し、二個目・三個目と検索しても
それ以前に検索した結果を表示ししたままにしたいと思っています。

現在、以下のようなスクリプトです。

<?php
 $addressdata = LoadCsvFile ( "data.csv");
 if ( $addressdata == false ) {
  echo ( "データはありません" );
 } else {
  ?>
   </td>
   <td>
   <table border=0 cellpadding=5 cellspacing=1 >
  <?php
  
  session_start();
      
  for ( $i = 0; $i < sizeof ( $addressdata ); $i++ ) {
   if($_POST["test"]==""){break;}
   $line = explode( ",", $addressdata[ $i ] );
   $match = true;
   if ( $_POST[ "test" ] !="" ) {
    
    if ( ( strstr( $line[ 0 ], $_POST [ "keyword" ] ) != false) ||
         ( strstr( $line[ 1 ], $_POST [ "keyword" ] ) != false) ||
         ( strstr( $line[ 2 ], $_POST [ "keyword" ] ) != false)) {
    $match = true;
   } else {
   $match = false;
   }
   }
   
   if ( $match == true ) {
    ?>
    <tr>
    <td bgcolor="#ffffff"><?php echo( $line [ 0 ] ) ?></td>
    <td bgcolor="#ffffff"><?php echo( $line [ 1 ] ) ?></td>
    <td bgcolor="#ffffff"><?php echo( $line [ 2 ] ) ?></td>
    </tr>
    <tr>
    <td>
    <?php
  session_register("line[ 0 ]" );
  session_register("line[ 1 ]" );
  session_register("line[ 2 ]" );
  }
  }
  ?>


カウンタやカレンダーなどの様に、
session_registerに一つだけ格納する方法は
よく見かけるのですが、何個も格納することは可能でしょうか?
セッション関数をどう扱えば、検索結果を残したまま
次の検索ができるようになるのでしょうか?

宜しくお願いいたします。


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