[PHP-users 21979]セッションについて

|| MARU || marup @ pop12.odn.ne.jp
2004年 6月 3日 (木) 19:59:44 JST


はじめて投稿します。宜しくお願いします。
PHPは初めてまだ数週間という初心者です。
環境は以下のとおり。

PHP:4.3.4
Apach:1.3.28
OS:Windows2000

PHPを使った検索システムを作る為、
書籍のソースを参考に作成しました。

csvのリストを読み込み
その中から検索できるようになっています。

一つだけを検索するなら問題ないのですが、
複数を一画面で検索したいため困っています。
先に検索した結果を残したまま、次の検察に
移りたい為、セッション関数を使うことは
わかり、解らないながら色々と書いてみたのですが
エラーが三つも出てしまいます。

エラー内容----------------------------------
Warning: session_start(): open(/tmp\sess_a10d24652c5f879d5fca651df1353bd7,
O_RDWR) failed: No such file or directory (2) in d:\php\serch\serch.php on
line 58
 11-111 テスト
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
Warning: Unknown(): open(/tmp\sess_a10d24652c5f879d5fca651df1353bd7, O_RDWR)
failed: No such file or directory (2) in Unknown on line 0
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
Warning: Unknown(): Failed to write session data (files). Please verify that
the current setting of session.save_path is correct (/tmp) in Unknown on
line 0
ここまで------------------------------


以上がエラーです。サイトにあるサンプルソースをそのままコピって
動作させても同じようなエラーがでます。
セッション関数を使う為の、基本的な部分が抜けてしまっているかも
しれません。

PHPの書き方も間違っているような気がするのですが
上記エラーで指定されている58行目にあたる文が
session_start(); であり、何が原因なのかわかりません。

ソース抜粋----------------------------------
<form action="<?php echo ( $_server [ "PHP_SELF" ] ) ?>" method="POST">
品番:<input name="test" type="text" size="30">
<input type="submit" value="検索">
<?php
 $addressdata = LoadCsvFile ( "goods_data.csv");
 if ( $addressdata == false ) {
  echo ( "データはありません" );
 } else {
  ?>
   </td>
   <td>
   <table border=0 cellpadding=5 cellspacing=1 >
<?php
  session_start();  --------------------->58行目
  session_register("line[ 0 ]" );
  session_register("line[ 1 ]" );
  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 [ "test" ] ) != false) ||
         ( strstr( $line[ 1 ], $_POST [ "test" ] ) != 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>
      </tr>
ここまで------------------------------

長文になり申し訳ありません。セッションに関する書籍などを見て、
おもいつくまま書いてしまったのですが、勉強不足なのだと思います。
もっと勉強してから扱う関数なのかもしれませんが、
少々急いでいる為質問いたしました。

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



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