札幌Web制作のシンクグラフィカ

config.cgiにテキストファイルから読み込んだデータを代入したい。

田辺さん (2012-03-17 14:57:02) http://www.deko314.com/others/otoiawase.html

MySQLとPHPで作っている管理画面のフォームで入力した値(=①)を一旦テキストファイル(=②)に書き出し、config.cgi(=③)でそのテキストファイルを読み込んで、読み込んだデータをconfig.cgi内に差し込みたいと思っています。
差し込みたいデータは、差出人名やメールアドレス、メールの件名、メールのフッターなどの11箇所です。

最初は①を使ってデータベースに値を保存し、config.cgiをPHPで書き出す方法でプログラムを書いていたのですが、うまくいかないので、②に書き出すことにしました。
今のところ、②の書き出しはうまくいっていますが、③のconfig.cgiへの読み込みがうまくいきません。メールフォームは送信されましたという送信完了画面が表示され、メールは手打ちしているアドレスには届きますが、件名やフッターなどに値が入っていません。また、設置者には届きますが、送信者への確認メールが届きません。多分うまく値が読み込まれていないと思います。

config.cgiに書いた読み込みの部分は以下の通りです。
$in_file = "formmail.txt";
open(IN, $in_file ) || die "Can’t open file [$in_file].";
@file = <IN>;
while ($file) {
  chomp;
  @data = split(/,/, $file);
}
close (IN);

そして、
##フォームの差出人名
$config{"fromname"} = $data[6];
のように読み込もうとしています。

読み込まれていないというのは、上記のソースがまずいんでしょうか?
VB、PHPは初心者ではありませんが、perlはあまりよくわかりません。

お問い合わせフォームの設置URL:http://www.deko314.com/others/otoiawase.html
読み込み用ファイルのURL:http://www.deko314.com/cgi/mailformpro/formmail.txt (パーミッションは666)
config.cgiのURL:http://www.deko314.com/cgi/mailformpro/config.cgi (パーミッションは755)
(config.cgiが読めるように、http://www.deko314.com/cgi/mailformpro/config.txt もアップロードしています。)

どこかにミスがありましたら、教えていただけないでしょうか?

Re:config.cgiにテキストファイルから読み込んだデータを代入したい。

和田 (2012-03-18 18:01:11) www.synck.com

う~んさすがにここまではサポート外ですね。
ただcgiをphpなどから改変するような処理は脆弱性の原因になりますのでお気をつけ下さい。
むしろPHPのフォームを探したほうが早いかもしれません。