![]() |
カレッヂ |
質問者 sumi
投稿日 4/25(木) 21:21:48
はじめまして。 現在、エディタの前にフォームを作ってそこからファイル名を指定し、 postでエディタに渡して、ファイル名の指定をするように書き換えました。 しかし、指定した任意のCSVファイルの表示はできるのですが、 [更新]、-NEW-、-EDIT-、-DELET-をクリックするとエラーが返ってきます。 「File Not Found ./.csvが見つかりません」が表示されます。 書き換えた内容は下記のとおりです。 ----line 50に追加----- if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $query_string, $ENV{'CONTENT_LENGTH'}); } else { $query_string = $ENV{'QUERY_STRING'}; } @a = split(/&/, $query_string); foreach $a (@a) { ($name, $value) = split(/=/, $a); $value =~ tr/+/ /; $value =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack("C", hex($1))/eg; $FORM{$name} = $value; if ($name eq "place") { $place = $value; } } --------- ----$fileを書き換え---- $file = "./"."$place".".csv"; --------- 過去ログを呼んでみたのですが なにぶんperl初心者なもので よくわかりませんでした。 お手数おかけしますがどなたか詳しい解決策を ご教授ください。 |
回答者 しあわせのツボ
[削除]
投稿日 4/26(金) 01:59:25
簡易データベースと別にHTMLを1枚置いて、そこから呼び出している、ということですよね? だとすると、簡易データベースからの出力は$placeに相当する情報が引き継がれないので、ファイル"./" . ""($placeがないので空白になる) . ".csv"は存在しない、というエラーになります。 なので、簡易データベース内で次のページにも$placeの情報を渡してやる必要があります。 |
質問者 sumi
[削除]
投稿日 4/26(金) 11:27:33
ご回答ありがとうございます。 しあわせのツボさんのおっしゃるとおり CSVエディタの前にHTMLを設置し環境変数にて ファイル名を渡しています。 で、-NEW-ボタンを押す際にCSVエディタが 自分を読み込んでいるため環境変数がわたらずに ファイル名の$place部分が空になっていることが解かりました。 ならばと、145行目(編集前ソースの場合)に次の行を追加しました。 <input type=hidden name="place" value="$place"> そしたら、-NEW-,-EDIT-,-DEL-ボタンを押すと ボタンを押す前の画面(CSVの内容を表示する最初の画面) に戻ってきてしまいました。 何か良い知恵は御座いませんでしょうか? ずうずうしいのは百も承知ですが 返信おまちしております。 よろしくおねがいします。 |
質問者 sumi
[削除]
投稿日 4/26(金) 13:56:01
皆々様 どうもお騒がせしてすいませんでした。 CGIエディタ内部のフォームを生成する部分全てに 前述した行を追記することにより解決いたしました。 皆様には多大なご助力をいただき まことにありがとう御座いました。 |
このページは終了したので返信(回答)は書きこめません
Web裏技 |